首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpClient 4.3.1创建HttpClient实例的问题

HttpClient 4.3.1创建HttpClient实例的问题
EN

Stack Overflow用户
提问于 2013-11-07 19:31:11
回答 2查看 11.4K关注 0票数 3

我正在尝试将Http upload转换为使用新的HttpClient 4.3.1类。我是Java新手。我在网上找到的所有东西都使用废弃的类(例如,HttpClient client =新的DefaultHttpClient()或更旧的方法来创建HttpClient的实例。请原谅下面的所有额外的库,我的项目的其余部分将需要一些库。

我尝试了无数种不同的方法来创建实例,下面是我在4.3.1版本的org.appache文档中看到的方法。

不幸的是,我收到一个错误,表明HttpClientBuilder不可见。我甚至不确定是否导入了不可见的means...the库。有谁能告诉我创建HttpClient实例的正确方向吗?

代码语言:javascript
复制
 package newHttpApiUpload;

 import org.apache.http.client.HttpClient;
 import org.apache.http.HttpConnection;  
 import org.apache.http.conn.HttpClientConnectionManager;
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;  
 import org.apache.http.client.config.RequestConfig; 
 import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.UsernamePasswordCredentials;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.entity.AbstractHttpEntity; 

 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;

 public class Api {

     protected static final HttpClientBuilder client = new HttpClientBuilder();

 }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-07 19:40:09

构造函数HttpClientBuilder()是受保护的(不是公共的),所以您不能从代码中调用它。这就是不可见的意思。

您可以使用静态构造函数方法调用构建器,如下所示:

代码语言:javascript
复制
HttpClientBuilder.create();

或者,快速创建一个客户端(这是重点)

代码语言:javascript
复制
HttpClient client = HttpClientBuilder.create()
  .setUserAgent("MyAgent")
  .setMaxConnPerRoute(4)
  .build()
票数 4
EN

Stack Overflow用户

发布于 2013-11-07 19:39:55

您需要使用HttpClients中的静态工厂方法。

您可以使用它们来获取预配置的HttpClient实例,或者使用HttpClients.custom()通过HttpClientBuilder应用您的自定义配置。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19834801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档