您的位置:首页 > 理论基础 > 计算机网络

java中httpclent以post方式提交请求时,http返回码是302重定向时,不自动跳转的处理

2013-02-07 18:11 826 查看
场景:


接口A:请求地址为http://www.test.com/test

接口A的功能,会把接收到的参数url写入到header的Location属性中

在java中,使用httpclient发送请求,

在以get方式发送请求时,http的返回码是200,自动处理了重定向

在以post方式发送请求时,http的返回码是302,不自动重定向,而且处于占用连接等待状态

此时的处理:

针对返回结果,处理返回码为302的情况

HttpPost httpPost = new HttpPost(url);  //请求地址
StringEntity reqEntity = new StringEntity(str);//表单
HttpResponse response = httpclient.execute(httppost);
httppost.abort();//释放post请求

//处理http返回码302的情况
if (response.getStatusLine().getStatusCode() == 302) {
String locationUrl=response.getLastHeader("Location").getValue();
get(locationUrl);//跳转到重定向的url
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐