我想要的是能够看到我的 Galaxy S4 产生的 HTTP 请求。我想构建一个 Web 应用程序并想使用在某些应用程序中使用的 API。我确定有一个 HTTP 请求,我想尽可能多地捕获 URL。
到目前为止,我已经尝试了一些事情:
寻找捕获 HTTP 请求的 Android 应用
。到目前为止,我已经找到了一些据称可以完成我需要的事情的应用程序。但它们都需要 root 访问权限,我不想对我的手机进行 root。寻找绑定(bind)我的 wifi 信号的 Windows 应用程序,这意味着每个请求都通过我的计算机传输。
到目前为止,我已经尝试了 1 个应用程序,MyPublicWIFI
,我尝试使用netsh start hostednetwork
。该应用程序没有显示任何 URL,现在它甚至不共享我的 wifi 信号。我尝试在 CMD 中设置的托管网络不共享 wifi 连接(我在属性中启用了此选项)。
我需要一种方法来做到这一点。有什么方法可以通过我的计算机移植请求来获取 URL 吗?
最佳答案
Charles Web Debugging Proxy将允许你做你想做的事。它是在 Windows、OS X 和 Linux 上运行的 HTTP 代理应用程序。
您需要将手机和电脑连接到同一局域网,并调整手机的 Wi-Fi 设置以使用代理,将其指向电脑的 IP 地址和端口 8888。然后,所有网络流量到/来自您手机的信息将通过您的计算机传播,并在 Charles 中可见。
您将能够看到任何 HTTP 请求和响应(URL、 header 、正文等)的完整详细信息,唯一的限制是加密流量,但通过安装 Charles SSL certificate在您的手机上,您也可以访问它。
因为这只是一个 HTTP 代理,所以它不需要 root 设备。
我能看到的唯一缺点是它是许可软件(单用户许可 50 美元),但“免费试用”不会过期 - 如果我记得的话,应用程序在打开 30 分钟后就会关闭正确。
对于大多数设备(我猜是 Android 4.0 以上),代理可以这样设置:
- 转到 Wi-Fi 设置
- 长按所需网络
- 选择“修改网络”
- 选中“显示高级选项”
- 设置
- 代理:手动
- 代理主机名:{您计算机的 IP 地址}
- 代理端口:8888
- 保存
关于android - 列出来自 Android 手机的 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22353717/