日期:2014-05-18  浏览次数:20667 次

高分跪求答案,就等你来拿
if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY)  
  {  
  // 从头中取出转向的地址  
  Header locationHeader = postMethod.getResponseHeader("location");  
  String location = null;  
  if (locationHeader != null) {  
  location = locationHeader.getValue();  
  System.out.println("The page was redirected to:" + location);  
   
  GetMethod redirect=new GetMethod(location);  
  httpClient.executeMethod(redirect);  
  System.out.println("Redirect:"+redirect.getStatusLine().toString());  
  System.out.println(redirect.getResponseBodyAsString());  
  redirect.releaseConnection();  
}  

httpclient确定第一次post 返回的是 重定向 

为什么第2次去get请求,地址是首页,而内容是首页原本的代码,而不是我们请求的结果呢??? 

按照猜测,post提交到它的servlet里,查询结果后,可能是重定向到首页,但是是有数据的... 

而我再次取,是首页源代码...

------解决方案--------------------
这个可能性太多了
1 服务端bug
2 你没有登录,他对你的POST不接受,只不过没有采用标准的401或者403错误,而是使用了30x的redirect
3 本来就是这个效果
------解决方案--------------------
我是来拿分的!
------解决方案--------------------
重定向HttpURLConnection有setFollowRedirects你看HttpClient有没有设置setFollowRedirects(false)
------解决方案--------------------
探讨
引用:
这个可能性太多了
1 服务端bug
2 你没有登录,他对你的POST不接受,只不过没有采用标准的401或者403错误,而是使用了30x的redirect
3 本来就是这个效果

这个已经登录了,而且sessionId也存放在cookie中了,第一次post返回302和重定向地址,但第二次使用了重定向地址但返回的却是原来页面

------解决方案--------------------
学习下。。。
------解决方案--------------------
firebug查看下提交了那些数据么。
------解决方案--------------------
顶一下,顺便拿分~
------解决方案--------------------
探讨
引用:
引用:
引用:
这个可能性太多了
1 服务端bug
2 你没有登录,他对你的POST不接受,只不过没有采用标准的401或者403错误,而是使用了30x的redirect
3 本来就是这个效果

这个已经登录了,而且sessionId也存放在cookie中了,第一次post返回302……

------解决方案--------------------
探讨
这个可能性太多了
1 服务端bug
2 你没有登录,他对你的POST不接受,只不过没有采用标准的401或者403错误,而是使用了30x的redirect
3 本来就是这个效果

------解决方案--------------------
学习..
------解决方案--------------------
我要分