java http post 302_用Java模拟一个Post表单提交(302和301)

public String getPostResponse(String url, Map parmMap)

{

String response = null;

PostMethod post = new PostMethod(url);

HttpClient client = new HttpClient();

Iterator it = parmMap.entrySet().iterator();

NameValuePair[] param = new NameValuePair[parmMap.size()];

int i = 0;

while (it.hasNext())

{

Entry parmEntry = (Entry) it.next();

param[i++] = new NameValuePair((String) parmEntry.getKey(), (String) parmEntry.getValue());

}

post.setRequestBody(param);

try

{

int statusCode = client.executeMethod(post);

if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY)

{

Header locationHeader = post.getResponseHeader("location");

String location = null;

if (locationHeader != null)

{

location = locationHeader.getValue();

response = this.getPostResponse(location, param);//用跳转后的页面重新请求。

}

}

else if(statusCode == HttpStatus.SC_OK)

{

response= post.getResponseBodyAsString();

}

}

catch (IOException ex)

{

}

finally

{

post.releaseConnection();

}

return response;

}

public String getPostResponse(String url, NameValuePair[] param)

{

String response = null;

PostMethod post = new PostMethod(url);

HttpClient client = new HttpClient();

post.setRequestBody(param);

try

{

int statusCode = client.executeMethod(post);

if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY)

{

Header locationHeader = post.getResponseHeader("location");

String location = null;

if (locationHeader != null)

{

location = locationHeader.getValue();

response = this.getPostResponse(location, param);//用跳转后的页面重新请求。

}

}

else if(statusCode == HttpStatus.SC_OK)

{

response= post.getResponseBodyAsString();

}

}

catch (IOException ex)

{

}

finally

{

post.releaseConnection();

}

return response;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值