java中的HttpClient

我想使用一个简单的HttpClient。

但是,看来sun.net.www.http.HttpClient是无法访问的。

此外,com.ibm.ws.http.HTTPConnection – 似乎更支持http服务器而不是客户端。 为什么? 因为当我创建一个HttpConnection实例时,它有一个我应该写的“getHttpResponse”。

无论如何使用IBM HttpConnection for HttpClient?

或者,我可以使用任何标准的httpClient代码吗?

谢谢。

很多人使用Apache的HTTPClient 。

看看它的教程的前几章,看看它是否是您正在寻找的。

如果您正在使用已经内置到Java中的简单内容,您可以查看HttpURLConnection ,您可以使用它来构建HTTP请求( 示例 )。 但是,如果您需要做的不仅仅是简单的HTTP请求,那么HTTPClient可能就是您的选择。

我强烈推荐Unirest :

Unirest.post("http://httpbin.org/post") .queryString("name", "Mark") .field("last", "Polo") .asString() 

试试jcabi-http ,它充当JDK HttpURLConnection或Apache HttpClient的包装器:

 String body = new JdkRequest("http://www.example.com") .uri().queryParam("id", "123").back() .method(Request.GET) .fetch() .body(); 

查看此博客文章了解更多信息: http : //www.yegor256.com/2014/04/11/jcabi-http-intro.html

使用google-http-java-client还有另一种选择。

该库提供了一个简单灵活的API以及一个可插入的方法来使用低级HTTP库,如java.net.HttpURLConnection或Apache HTTP Client。

用于将内容从InputStream发布到特定URL的示例代码:

 HttpTransport HTTP_TRANSPORT = new NetHttpTransport(); HttpRequestFactory requestFactory = HTTP_TRANSPORT.createRequestFactory(); InputStream is = ...; URL url = new URL(...); String contentType = ...; HttpRequest httpRequest = requestFactory.buildPostRequest( new GenericUrl(url), new InputStreamContent(contentType, is) ); HttpResponse execute = httpRequest.execute(); 

您不需要第三方类,只需使用java自己的URLHttpURLConnection类。
在这里查看示例。

尝试使用Apache的HTTPClient流畅API,它非常容易使用!

 // Execute a GET with timeout settings and return response content as String. Request.Get("http://somehost/") .connectTimeout(1000) .socketTimeout(1000) .execute().returnContent().asString();