Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何监控我的应用程序在android中发出的HTTP(get、post等)请求_Android_Http_Remote Debugging - Fatal编程技术网

如何监控我的应用程序在android中发出的HTTP(get、post等)请求

如何监控我的应用程序在android中发出的HTTP(get、post等)请求,android,http,remote-debugging,Android,Http,Remote Debugging,在我自己的应用程序中,我使用各种第三方SDK以某种形式进行网络呼叫(HTTP请求)。在不编辑此代码的情况下,我是否可以在应用程序中单独编写代码以拦截我的应用程序发出的所有GET和POST请求 我想在我的应用程序中记录这些HTTP呼叫 我知道使用和,但这在应用程序之外,但这不会起作用,因为我无法在我的应用程序中记录这些HTTP调用 有办法吗 编辑:我在代码中使用Google Analytics SDK和Facebook SDK。我想监控这些SDK在我的应用程序中进行的所有网络调用。Charles

在我自己的应用程序中,我使用各种第三方SDK以某种形式进行网络呼叫(HTTP请求)。在不编辑此代码的情况下,我是否可以在应用程序中单独编写代码以拦截我的应用程序发出的所有GET和POST请求

我想在我的应用程序中记录这些HTTP呼叫

我知道使用和,但这在应用程序之外,但这不会起作用,因为我无法在我的应用程序中记录这些HTTP调用

有办法吗


编辑:我在代码中使用Google Analytics SDK和Facebook SDK。我想监控这些SDK在我的应用程序中进行的所有网络调用。Charles proxy是一种很好的方法


其他包括若应用程序使用的是单例网络类(理想情况下应该是这样),那个么为get和post分别创建一个函数。从类中调用这些函数,并使用log.d在控制台上输出数据。您可以跟踪请求响应或所花费的时间。

如果您是根设备或运行调试(adb),那么这可能会有帮助:

否则我认为你不可能做你想做的事。但您可以监视一般的网络内容,如:

有关所有流量统计信息,请参见:
(只需输入你的应用程序用户id)

用于监视网络状态:

在非根目录手机上,您可以使用android操作系统代理和重定向流量。但有些应用程序并不尊重它。直接联系。可以做一些调整。在VPN模式下使用Drony将所有流量重定向到SandroProxy。下面是视频如何捕获然后使用SandroProxy的流量SandroProxy也可以捕获PCAP文件。还可以在pcap流上创建ssl mitm。如果您特别希望您的应用程序能够录制HTTP呼叫,请访问SandroProxy支持。
库可以是您正在寻找的解决方案。

您考虑过听诊器吗

您可以监视和修改所有传入和传出的请求,以及其他内容。

它添加了一个新的应用程序,可以在每次发出网络请求时发送通知,您可以查看请求的详细信息

它允许您使用chrome开发工具来监控从android应用程序创建的请求。(还有其他一些很酷的功能)

试试——这是我一直在构建的一个开源工具,正是为了实现这一点。它可以自动拦截来自Android设备的流量,无需手动设置,然后允许您检查并重写计算机中的所有HTTP流量,如下所示:


要拦截来自应用程序的HTTPS流量,您只需a)信任应用程序网络安全配置中的“用户”证书(请参阅)或b)使用仿真器或根设备(在这种情况下,HTTP Toolkit可以插入一个“系统”证书,您的应用程序将自动信任该证书)。

您可以将其用作更好的选择。请记住向下滚动应用程序并检查网络拦截是否已打开。
链接在此处

您想拦截请求或响应吗?发布您当前测试代码的一些详细信息或您尝试过的测试的示例。另外,请解释为什么需要使用第三方SDK而不是内置方法。@Tigger-我在代码中使用Google Analytics SDK和Facebook SDK。我想监控这些SDK在我的应用程序中进行的所有网络调用,并可能能够记录/编辑请求/响应。@PedroLobito-请求和响应。按照步骤1强制通过代理执行相应的第三方LIB,如我所说,我不能使用Charles代理,因为我需要从应用程序中执行。此外,不能有单例类,因为这些调用将由各自的SDK进行。sCharles代理可配置为appI agree,但我这里需要的是Charles代理的某个版本(可能是某些SDK?),我可以将其放入我的应用程序并发布。可能?手机需要植根?请在答案正文中提供更多详细信息,而不是依赖外部链接,这可能会过时。