9

有许多网站会显示并让您查看标准请求标头。

但是通过触发我的基于 WebView 的 Android 应用程序发送某些字段,我找不到任何实际显示非标准请求标头的网站。

更具体地说,我想看看我的 Android 手机在X-Requested-With现场发送了什么。

注意:我不是在寻找 Firefox 插件,因为我的目标不是查看对方如何响应合成请求。我正在寻找的是一种了解对方(网站)从我的特定 Android 设备看到的内容的方法。

4

4 回答 4

4

还没有找到一个可以做你想做的事情的网站,但是你可以轻松地制作一个 PHP 脚本来为你做这件事:

<?php
$headers = getallheaders();

foreach ($headers as $name => $value) {
    echo $name . '=' . $value . '<br/>';
}
?>

您可以轻松地将其上传到您的 PHP 服务器之一。如果没有,可以使用XAMPP设置一个

于 2013-08-04T17:10:03.420 回答
3

我很确定我们可以找到一个显示您想要的所有标题的网站。我会尽力帮你看的。

经过大量谷歌搜索后,我偶然发现了这个:

http://www.ericgiguere.com/tools/http-header-viewer.html

在我的 iPad 上,它显示了一些额外的非标准标题,所以我感觉这就是你要找的东西。从您的应用程序访问此页面,它将显示标题。

编辑:也试试这个,我很难相信他们在伪造请求的原始转储:

http://request.urih.com

于 2013-08-06T20:48:05.247 回答
3

除了使用 jsconsole 之类的工具(请参阅下面的报价和 url)来检查手机的浏览器在做什么之外,您还有其他一些选择。

根据您对发送这些请求的站点或服务器的控制级别,您可能能够打开服务器的日志并检查通过的请求类型。

如果您没有该控制权,并且您的手机在 LAN 上(连接到与您的计算机相同的 Wifi 网络),您可以考虑使用 Wireshark 来检查数据包;这更难,但对于了解网络中正在发生的事情是一个很好的练习。您可以使用过滤器功能对 tcp 数据包转储进行本地化,以仅显示来自您电话 IP 地址的出站数据。如果有很多噪音,您可以缩小过滤器的范围,将那些入站到您感兴趣的目标站点的内容包括在内。

不过,最有可能的是,jsconsole 是您正在寻找的。祝你好运!

jsconsole.com 是一个简单的 JavaScript 命令行工具。但是,它还提供了桥接到其他浏览器窗口以远程控制和调试该窗口的能力——无论是在另一个浏览器中还是完全在另一个设备中。

http://jsconsole.com/remote-debugging.html

于 2013-07-29T02:50:28.103 回答
2

正如 keyvan 提到的那样,有几种方法可以实现这一点:

  • Analyzing Packets,你可以使用Wireshark,如果你不只是调试 HTTP 或者你对请求/响应没有太多控制,这是最好的。
  • 转储您的请求/响应,您可以使用控制台转储日志并在 logcat 或服务器端读取它们以响应您的请求转储
  • 使用中间的东西,比如代理
  • 其他一些我还不知道的技术。

我经常使用代理,因为这是最简单的,我使用Charles(还没有找到更好的东西)但是还有一些其他免费的替代品,比如Andiparos

http://i.imgur.com/HCjIdav.png

这是使用 jQuery生成的示例X-Hello

您可以在 Wi-Fi 设置中进行设置(使用 Charles,您必须接受第一个连接。)

http://i.stack.imgur.com/uK5r6.png

于 2013-08-04T15:09:18.717 回答