通过不同的代理发送多个httpRequest

时间:2014-03-24 08:14:34

标签: java proxy apache-httpclient-4.x

我正在使用 HTTPClient Fluent API版本4.3.2 向用户定义的各种地址发送多个请求。每个地址都将使用其特定的代理设置。以下是我目前的代码:

try {

            final Executor executor = Executor.newInstance().auth(proxy, userName, passWord);
            System.out.println(executor.execute(Request.Get(uri).viaProxy(proxy)).returnResponse().getStatusLine());
        } catch (final Exception e) { 
            e.printStackTrace(); 
        }

我遇到问题,当我使用代理1 正确的代理用户名和代理密码值)连接地址1 时,请求按预期正确发送。

但是当我使用代理1 (代理用户名和代理密码的错误值)添加地址2 时,期望是请求失败,但它仍然成功连接。

我虽然在通过代理发送请求之后,第一个代理设置被缓存在JVM中的某个地方,我无法为另一个请求设置另一个代理设置。

有没有解决方案?

1 个答案:

答案 0 :(得分:0)

在请求执行之前尝试设置代理

Executor executor = Executor.newInstance().auth(proxy, userName, passWord);
System.out.println(executor
  .viaProxy(proxy)
  .execute(Request.Get(uri))
  .returnResponse().getStatusLine());