我正在努力将应用程序中的 HTTP 客户端从 Commons HTTP Client v3.x 更改为新的 HTTP Client v4.x。我进行了搜索,但找不到以下场景的好例子——你能给我指出一篇关于新 HTTP 客户端的好教程/文章(类似于 java.net.url 上 SO 上的优秀社区 Wiki 文章)吗?
(1) 设置 Cookie Policy
(2) 设置 Http Proxy - 定义主机/域以及用户名/密码
目前,这是通过以下方式完成的——
Credentials credentials =
( host == null || domain == null || "".equals(host.trim()) ||
"".equals(domain.trim()) ) ?
new UsernamePasswordCredentials(username, password) :
new NTCredentials(username, password, host, domain);
client.getState().setProxyCredentials( AuthScope.ANY, credentials);
(3) Auth 凭据在旧的 http 客户端中定义,代码如下——
client.getState().setCredentials(
new AuthScope(urlObj.getHost(), urlObj.getPort()),
new UsernamePasswordCredentials(username, password)
);
在新的 HTTP 客户端中执行此操作的方法是什么?
(4) 声明一个新的 HTTP Method 变量,并为这个变量指定方法——如 GET 或 POST
目前用于上述的代码——
HttpMethodBase method;
method = createPostMethod(url, params, multipart, charset);
method = createGetMethod(url, params, charset);
(5) 将请求头添加到方法中 -
例如,要将用户代理设置为默认用户代理,使用以下代码 -
method.addRequestHeader(new Header("User-Agent", DEFAULT_USER_AGENT));