java 中的 HTTP GET 请求

HTTP GET request in java

我正在尝试使用 java 上的 http get 请求发送到端口号 4567 上的本地主机。 我收到了获取请求:"wget -q -O- http://localhost:4567/XXXX" [XXXX 是一些参数 - 不相关]。 我已经为这些东西找到了一个 java 库 java.net.URLConnection 但似乎 URLConnection 对象应该接收 url/port/.. 和所有其他类型的参数(在其他换句话说,你必须自己构建对象),但是,我收到了上面写的完整的 http get 请求。有没有一种方法可以简单地 'shoot' 请求而不处理构建 URLConnection 字段?

您可以使用 URL 创建 URL 对象,它会自行确定端口和其他内容。参考:https://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html

public class URLConnectionReader {
    public static void main(String[] args) throws Exception {
        URL oracle = new URL("http://localhost:4567/XXXX");
        URLConnection yc = oracle.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(
                                    yc.getInputStream()));
        String inputLine;
        while ((inputLine = in.readLine()) != null) 
            System.out.println(inputLine);
        in.close();
    }
}

你为什么不使用 Apache HTTPClient 库。使用简单。

HttpClient client = new HttpClient();

参考文档http://hc.apache.org/httpclient-3.x/tutorial.html