Apache HttpClient 4.3.5设置代理

伊尔吉兹·穆斯塔芬(Ilgiz Mustafin)

似乎我可以在构造new时指定代理HttpClient

HttpHost proxy = new HttpHost("someproxy", 8080);
DefaultProxyRoutePlanner routePlanner = new DefaultProxyRoutePlanner(proxy);
CloseableHttpClient httpclient = HttpClients.custom()
    .setRoutePlanner(routePlanner)
    .build();

取自http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d5e475

是否可以修改现有客户端的代理设置。

菲利普·阮(Filip Nguyen)

您可以创建自己的HttpRoutePlanner实现,该实现将允许更改HttpHost。

public class DynamicProxyRoutePlanner implements HttpRoutePlanner {

    private DefaultProxyRoutePlanner defaultProxyRoutePlanner = null;

    public DynamicProxyRoutePlanner(HttpHost host){
        defaultProxyRoutePlanner = new DefaultProxyRoutePlanner(host);
    }

    public void setProxy(HttpHost host){
        defaultProxyRoutePlanner = new DefaultProxyRoutePlanner(host);
    }

    public HttpRoute determineRoute(HttpHost target, HttpRequest request, HttpContext context) {
        return defaultProxyRoutePlanner.determineRoute(target,request,context); 
    }
}

然后,您可以在代码中使用此DynamicProxyRoutePlanner

HttpHost proxy = new HttpHost("someproxy", 8080);
DynamicProxyRoutePlanner routePlanner = new DynamicProxyRoutePlanner(proxy);
CloseableHttpClient httpclient = HttpClients.custom()
    .setRoutePlanner(routePlanner)
    .build();

//Any time change the proxy 
routePlanner.setProxy(new HttpHost("someNewProxy", 9090));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Wpad文件的Apache HttpClient API的代理设置

来自分类Dev

在 Apache HttpClient 4.x 中设置 Content-Charset

来自分类Dev

阻止Apache HttpClient 4访问特定路由

来自分类Dev

如何使用Apache httpclient 4. *和PoolingHttpClientConnectionManager为每个请求设置超时?

来自分类Dev

如何使用Apache httpclient 4. *和PoolingHttpClientConnectionManager为每个请求设置超时?

来自分类Dev

如何设置HttpClient代理?

来自分类Dev

如何从Apache HttpClient 4.x获取cookie?

来自分类Dev

嗨,如何配置Apache HttpClient绕过本地地址的代理?

来自分类Dev

使用Wily代理时Apache HttpClient引发异常

来自分类Dev

Apache HttpClient 4.3-设置连接空闲超时

来自分类Dev

如何在apache HttpClient上设置TLS版本

来自分类Dev

Apache异步HttpClient不快

来自分类Dev

Apache HttpClient Android(Gradle)

来自分类Dev

Apache HTTPClient超时随时

来自分类Dev

计算对 apache HttpClient 的调用

来自分类Dev

Apache HttpClient 进程 HttpResponse

来自分类Dev

使用HTTPClient Gem设置用户代理

来自分类Dev

为Log4J2 + Apache HttpClient启用调试日志记录

来自分类Dev

ChunkedInputStream如何在内部与Apache HttpClient 4.x配合使用?

来自分类Dev

为Log4J2 + Apache HttpClient启用调试日志记录

来自分类Dev

Neo4j远程服务器上带有Apache HttpClient的UnknownHostException

来自分类Dev

如何将 apache-httpclient-4.x 附加到axis2 存根

来自分类Dev

Apache HttpClient 4.3.1中具有HTTP隧道/ HTTPS连接的抢占式代理身份验证

来自分类Dev

除了目标站点凭据之外,如何在Apache httpclient中指定代理身份验证凭据?

来自分类Dev

如何使用Apache HttpClient 4.3.4通过代理测试与服务器SSL端口的连接?

来自分类Dev

apache httpclient 4.3不超时

来自分类Dev

Apache Httpclient连接未释放

来自分类Dev

使用Apache HttpClient的SOAP请求

来自分类Dev

Java Applet AccessControlException(Apache httpclient)

Related 相关文章

  1. 1

    Wpad文件的Apache HttpClient API的代理设置

  2. 2

    在 Apache HttpClient 4.x 中设置 Content-Charset

  3. 3

    阻止Apache HttpClient 4访问特定路由

  4. 4

    如何使用Apache httpclient 4. *和PoolingHttpClientConnectionManager为每个请求设置超时?

  5. 5

    如何使用Apache httpclient 4. *和PoolingHttpClientConnectionManager为每个请求设置超时?

  6. 6

    如何设置HttpClient代理?

  7. 7

    如何从Apache HttpClient 4.x获取cookie?

  8. 8

    嗨,如何配置Apache HttpClient绕过本地地址的代理?

  9. 9

    使用Wily代理时Apache HttpClient引发异常

  10. 10

    Apache HttpClient 4.3-设置连接空闲超时

  11. 11

    如何在apache HttpClient上设置TLS版本

  12. 12

    Apache异步HttpClient不快

  13. 13

    Apache HttpClient Android(Gradle)

  14. 14

    Apache HTTPClient超时随时

  15. 15

    计算对 apache HttpClient 的调用

  16. 16

    Apache HttpClient 进程 HttpResponse

  17. 17

    使用HTTPClient Gem设置用户代理

  18. 18

    为Log4J2 + Apache HttpClient启用调试日志记录

  19. 19

    ChunkedInputStream如何在内部与Apache HttpClient 4.x配合使用?

  20. 20

    为Log4J2 + Apache HttpClient启用调试日志记录

  21. 21

    Neo4j远程服务器上带有Apache HttpClient的UnknownHostException

  22. 22

    如何将 apache-httpclient-4.x 附加到axis2 存根

  23. 23

    Apache HttpClient 4.3.1中具有HTTP隧道/ HTTPS连接的抢占式代理身份验证

  24. 24

    除了目标站点凭据之外,如何在Apache httpclient中指定代理身份验证凭据?

  25. 25

    如何使用Apache HttpClient 4.3.4通过代理测试与服务器SSL端口的连接?

  26. 26

    apache httpclient 4.3不超时

  27. 27

    Apache Httpclient连接未释放

  28. 28

    使用Apache HttpClient的SOAP请求

  29. 29

    Java Applet AccessControlException(Apache httpclient)

热门标签

归档