相关疑难解决方法(0)

来自SOCKS服务器的错误回复,而我使用HTTP代理(使用Apache HTTP库)

我知道有很多关于错误的问题,这些错误Malformed reply from SOCKS server主要指向代理的错误配置.

但是,就我而言,我正在使用系统HTTP(!)代理来执行带有apache httpclient库4.3.5(httpcore 4.3.2)的POST请求,如下所示:

SystemDefaultRoutePlanner routePlanner = new SystemDefaultRoutePlanner(
        ProxySelector.getDefault());
CloseableHttpClient httpclient = HttpClients.custom()
        .setRoutePlanner(routePlanner)
        .build();
Run Code Online (Sandbox Code Playgroud)

这也是/sf/answers/1452048181/中的建议

在大多数情况下,这个httpclient和以下的http POST请求都能很好地工作.但是,在一个客户,它失败并出现以下日志错误:

Mrz 05, 2015 10:11:04 AM org.apache.http.impl.execchain.RetryExec execute
Information: I/O exception (java.net.SocketException) caught when processing request to {}->http://proxy.local:80->http://my-webservice.tld:80: Malformed reply from SOCKS server
Mrz 05, 2015 10:11:04 AM org.apache.http.impl.execchain.RetryExec execute
Information: Retrying request to {}->http://proxy.local:80->http://my-webservice.tld:80
Run Code Online (Sandbox Code Playgroud)

本地系统代理设置(在Windows 7上)未配置为SOCKS代理,而是配置为HTTP代理!我证实了这一点通过登录不同RoutePlannerProxy参数:

TunnelType: PLAIN
TargetHost: http://my-webservice.tld:80
ProxyHost: http://proxy.local:80
ProxyPort: 80
ProxyType: HTTP
Run Code Online (Sandbox Code Playgroud)

但是,我的POST请求未正确发送.在代理日志文件中,它显示如下: …

java proxy http-proxy apache-httpclient-4.x

8
推荐指数
0
解决办法
1996
查看次数

在Apache HttpClient 4.1.3中设置nonProxyHosts

我回答这个问题时无法帮助自己.

如何在Apache HttpClient 4.1.3中设置nonProxyHosts?

在旧的Httpclient 3.x中,这非常简单.你可以使用setNonProxyHosts方法设置它.

但是现在,新版本没有等效的方法.我一直在寻找api文档,教程和示例,到目前为止尚未找到解决方案.

设置正常的代理你可以这样做:

    HttpHost proxy = new HttpHost("127.0.0.1", 8080, "http");
    DefaultHttpClient httpclient = new DefaultHttpClient();
    httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
Run Code Online (Sandbox Code Playgroud)

有没有人知道新版本httpclient 4.1.3中是否有开箱即用的解决方案来设置nonProxyHosts或者我必须自己做

    if (targetHost.equals(nonProxyHost) {
    dont use a proxy
    }
Run Code Online (Sandbox Code Playgroud)

提前致谢.

proxy apache-httpclient-4.x

5
推荐指数
1
解决办法
3600
查看次数

标签 统计

apache-httpclient-4.x ×2

proxy ×2

http-proxy ×1

java ×1