我正在使用 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中的某个地方,我无法为另一个请求设置另一个代理设置。
有没有解决方案?
答案 0 :(得分:0)
在请求执行之前尝试设置代理
Executor executor = Executor.newInstance().auth(proxy, userName, passWord);
System.out.println(executor
.viaProxy(proxy)
.execute(Request.Get(uri))
.returnResponse().getStatusLine());