個人專題目錄
在用HttpClient 4.1搀菩,用get 的時担忧,如果有重定向丽已,會自動再去訪問重定向的內(nèi)容 蒋院。
但用post訪問url就不會自動 重定向的內(nèi)容 桃焕。
用post訪問url是地剑肯,我們經(jīng)常會遇到返回301,302 返回代碼观堂,他們代表的是重定向让网。有兩種方法讓程序繼續(xù)訪問,
1 利用heard 取Location值重新再訪問师痕,代碼如下
if (response.getStatusLine().getStatusCode() == 302) {
Header[] hs = response.getHeaders("Location");
if (hs.length > 0) {
return sendPost(client, hs[0].toString(), headers, params, encoding, cookie);
}
}
2 HttpClient實(shí)例中增加重定向策略溃睹,代碼如下
client.setRedirectHandler(new DefaultRedirectHandler() {
@Override
public boolean isRedirectRequested(HttpResponse response, HttpContext context) {
boolean isRedirect = super.isRedirectRequested(response, context);
if (!isRedirect) {
int responseCode = response.getStatusLine().getStatusCode();
if (responseCode == 301 || responseCode == 302) {
return true;
}
}
return isRedirect;
}
});