android - 列出来自 Android 手机的 HTTP 请求

标签 android http url proxy request

我想要的是能够看到我的 Galaxy S4 产生的 HTTP 请求。我想构建一个 Web 应用程序并想使用在某些应用程序中使用的 API。我确定有一个 HTTP 请求,我想尽可能多地捕获 URL。

到目前为止,我已经尝试了一些事情:

  1. 寻找捕获 HTTP 请求的 Android 应用。到目前为止,我已经找到了一些据称可以完成我需要的事情的应用程序。但它们都需要 root 访问权限,我不想对我的手机进行 root。

  2. 寻找绑定(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 以上),代理可以这样设置:

  1. 转到 Wi-Fi 设置
  2. 长按所需网络
  3. 选择“修改网络”
  4. 选中“显示高级选项”
  5. 设置
    • 代理:手动
    • 代理主机名:{您计算机的 IP 地址}
    • 代理端口:8888
  6. 保存

关于android - 列出来自 Android 手机的 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22353717/

相关文章:

http - 将 interface{} 参数转换为 Go 中的 *http.Request 或 *http.Response

web-services - 使用 RESTful URL 能给我带来什么?

android - Android,Gradle允许具有某些产品风格的某些构建类型

Android getOrientation 描述与输出值不匹配

android - 夜间模式更改后刷新后台 Activity

javascript - 检索加载的 javascript 库

android - 如何从 10 位电话号码中获取运营商名称?

php - curl 发送 Content-length header 的问题

html - Linux中的Linkify文本文件

http - 为什么 FireFox 不将 http ://%67oogle. com 指向 http ://google. com?