HttpPost到asp服务器上(HTML表单)

时间:2011-08-03 09:54:49

标签: java asp.net android http-post

使用HttpURLConnection并向服务器发帖我获取了带有位置标题的重定向页面。状态代码302,所以我必须使用此信息继续进行重定向。 (这里似乎一切都好......至少对我而言)

08-03 09:45:11.662: INFO/System.out(1664): <html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="http://website/mobile/(X(1)S(sf3dah5520rblujg4z2n0n55))/Login.aspx?ReturnUrl=%2fsyspower3%2fmobile%2fDefault.aspx&amp;AspxAutoDetectCookieSupport=1">here</a>.</h2>
</body></html>
08-03 09:45:11.662: INFO/System.out(1664): Status code - 302
08-03 09:45:11.672: INFO/System.out(1664): location : [http://website/mobile/(X(1)S(sf3dah5520rblujg4z2n0n55))/Login.aspx?ReturnUrl=%2fsyspower3%2fmobile%2fDefault.aspx&AspxAutoDetectCookieSupport=1]
08-03 09:45:11.672: INFO/System.out(1664): x-powered-by : [ASP.NET]
08-03 09:45:11.672: INFO/System.out(1664): content-type : [text/html; charset=utf-8]
08-03 09:45:11.672: INFO/System.out(1664): content-length : [282]
08-03 09:45:11.672: INFO/System.out(1664): date : [Wed, 03 Aug 2011 09:45:00 GMT]
08-03 09:45:11.672: INFO/System.out(1664): server : [Microsoft-IIS/7.5]
08-03 09:45:11.672: INFO/System.out(1664): location found: http://website/mobile/(X(1)S(sf3dah5520rblujg4z2n0n55))/Login.aspx?ReturnUrl=%2fsyspower3%2fmobile%2fDefault.aspx&AspxAutoDetectCookieSupport=1

在此之后,如果我在普通浏览器中使用此链接,我可以在没有登录的情况下进入服务器,所以实际上这个链接是我应该用来发布帖子并获取服务器内部信息的链接登录。 (如果我在浏览器中使用它,它确实会这样做)

问题: 如果我对已经使用新位置的服务器执行了新的 POST ,我将再次进入登录屏幕。 我是否应该使用cookie来处理新请求或我的问题是什么?

1 个答案:

答案 0 :(得分:1)

是的,cookies应该可以解决您的问题。 当您使用浏览器时,第一次访问该站点时会获得Set-Cookie响应标头。然后,当您继续浏览器时,会发送带有所有Cookie的标头Cookie。

其中一个cookie包含HTTP会话ID。例如,基于Java的服务器使用cookie jsessionid。当您执行第二个,第三个等请求时,服务器使用此cookie来标识您的会话。如果此字段不存在,则服务器每次都会创建新会话。会话是新的,因此未经过身份验证,因此您将被重定向到登录页面。