8

在过去的 3 个小时里,关于 Facebook 的登录程序,我遇到了一些让我感到困惑的事情。

我访问了http://m.facebook.com(安装了 UA Spoofer 并设置为 Nokia Lumia User-Agent)并在监视标题的同时继续登录。我故意为我拥有的帐户输入了错误的密码。

当按下登录时,它会向这个 URL 发送一个 POST 请求:https://m.facebook.com/login.php?refsrc=http%3A%2F%2Fwww.facebook.com%2F&refid=8状态码返回一个200 响应代码。

然后立即向此 URL 发出 GET 请求: http://m.facebook.com/login.php?refsrc=http%3A%2F%2Fwww.facebook.com%2F&refid=8&e=1348022&email= frankthebutcher%40hotmail。 com&signup_layout=layout%7Cbottom_clean%7C%7Cwider_form%7C%7Cprmnt_btn%7Cspecial%7C%7Cst%7Ccreate%7C%7Cheader_button%7C%7Chdbtn_color%7Cgreen%7C%7CFeb1&li=jFMuUdDWbmFhq8b-zAjEOHnE&_rdr

哪个是表示密码不正确的 URL。

但是,该重定向来自哪里?第一个 POST 请求的响应标头中没有任何内容,并且未启用 JavaScript。

在 Chrome 上尝试一下。很想知道它是如何做到的,这样我就可以相应地调整我正在开发的移动应用程序。

已解决:在我的移动应用程序中,我将 POST 请求发送到正确的 URL,但我使用的 URL 字符串已被编码,这导致了问题。

4

1 回答 1

6

第一个 POST 请求发送回一个Location标头,告诉浏览器先执行此请求并继续下一个请求。第二个请求只是浏览器,然后使用新Location提供的并继续前进。

这是您从第一个 POST 响应中看到的内容:

响应头的屏幕截图

但是,据我所知,这是一个302重定向:找到)响应,而不是200OK。有些东西告诉我,您正在判断最终请求的响应标头,而不是中间重定向/切换。

于 2013-02-27T19:03:39.453 回答