但用post访问url就不会自动 重定向的内容 。
用post访问url是地,我们经常会遇到返回301,302 返回代码,他们代表的是重定向。有两种方法让程序继续访问,
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实例中增加重定向策略,代码如下
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; } });