用java处理HTTP中的Form时,遇到302返回值,结果java自动跳转,反而使得没有时间将cookie送过去,于是不能得到正确的页面,返回400号错误。

后来经过一系列的寻找,终于得到如下的方法:

对于HttpURLConnection实例如connection,设置setInstanceFollowRedirect( false ),然后获取返回码,如果为302或者301这类,就从返回的数据中获取HTTP头信息中的Location,如 connection.getHeaderField( "location" ),然后针对这个地址再做一次连接,同时将cookie送过去(如果存在的话)。

一般来说,如果服务器或者网络没有什么问题,由之前那个form所转过去的页面是能够正常获得的。