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

Posted

技术标签:

【中文标题】如何查看/调试手机浏览器发送的非标准请求标头?【英文标题】:How to view/debug non-standard request headers my phone's browser is sending? 【发布时间】:2013-07-24 17:30:45 【问题描述】:

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

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

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

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

【问题讨论】:

尝试在您的 Web 视图中打开它:shush.mobi/request.php 【参考方案1】:

除了使用 jsconsole 之类的工具(请参阅下面的报价和网址)来检查手机浏览器的运行情况之外,您还有其他一些选择。

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

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

不过,jsconsole 很可能就是您要找的。祝你好运!

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

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

【讨论】:

感谢 +1 成为第一个提供帮助的人。但是,我担心jsconsole 并不是我真正想要的:它似乎主要用于console.log 消息(LogCat 已经显示,顺便说一句)。我正在寻找一个更“主动”的网站,即以一种触发我的 WebView 发送X-Requested-With 的方式与我的基于 WebView 的应用程序通信,然后网站本身将显示它收到的值。类似于 HTTP Header Viewer 的东西,但更加普遍。可以使用jsconsole 吗? 没问题,很抱歉你仍然卡在这个问题上。我认为我不完全理解您要做什么,尽管如果您只需要一个 URL 来访问它会告诉您传入哪些标头,我已经使用 Rack 将一个与此屏幕截图一起展示给您我输入任意标题并在接收端查看它。截图:cl.ly/image/09193v1f393c 代码:gist.github.com/keyvanfatehi/6149360【参考方案2】:

正如 keyvan 提到的其中一些,有几种方法可以实现:

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

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

还有here is the sample to generate X-Hello using jQuery

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

【讨论】:

【参考方案3】:

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

<?php
$headers = getallheaders();

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

?>

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

【讨论】:

【参考方案4】:

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

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

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

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

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

http://request.urih.com

【讨论】:

以上是关于如何查看/调试手机浏览器发送的非标准请求标头?的主要内容,如果未能解决你的问题,请参考以下文章

如何查看手机Web页面中的调试信息

苹果手机token在哪里获取

电脑dw制作的网页发送到手机中该如何观看

如何使用chrome浏览器调试页面

如何在手机上调试h5

我们如何使用 Moya 调试/查看通过 API 设置的请求?