如何查看/调试手机浏览器发送的非标准请求标头?

时间:2013-07-25 01:36:45

标签: android ajax webview http-headers xmlhttprequest

有许多网站可以显示并让您看到standard个请求标题。

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

更具体地说,我希望看到我的Android手机在X-Requested-With字段中发送的内容。

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

4 个答案:

答案 0 :(得分:4)

没有找到符合您要求的网站, 但您可以轻松制作一个PHP脚本来为您完成:

<?php
$headers = getallheaders();

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

您可以在一台PHP服务器上轻松上传。 如果您没有,可以使用XAMPP

设置一个

答案 1 :(得分:3)

除了使用像jsconsole这样的工具(请参阅下面的引用和url)来检查手机浏览器的功能,你还可以选择其他一些选项。

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

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

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

  

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

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

答案 2 :(得分:2)

正如keyvan所提到的,有几种方法可以达到这个目的:

  • 分析数据包,您可以使用Wireshark,如果您不仅调试HTTP,或者您对请求/响应没有太多控制权,那么这是最好的。< / LI>
  • 转储您的请求/响应,您可以使用控制台转储日志并在logcat或服务器端读取它们以响应您的请求转储
  • 使用中间的内容,例如代理
  • 我还不知道的其他一些技巧。

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

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

here is the sample to generate X-Hello using jQuery

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

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

答案 3 :(得分:2)

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

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

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

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

编辑:尝试这个,我发现很难相信他们正在假装请求的原始转储:

http://request.urih.com