私のアプリでは、何らかの形でネットワーク呼び出し (HTTP リクエスト) を行うさまざまなサードパーティ SDK を使用しています。このコードを編集せずに、アプリケーション内でコードを個別に記述して、アプリが行うすべての GET リクエストと POST リクエストをインターセプトすることはできますか?
これらのHTTP呼び出しをアプリで記録したい
私は使用を認識していますフィドラーそしてCharles プロキシツールただし、これはアプリの外部であり、アプリ内でこれらの HTTP 呼び出しを記録できないため機能しません。
それを実行する方法はありますか?
編集: 私はコードで Google Analytics SDK と Facebook SDK を使用しています。これらの SDK がアプリから行っているすべてのネットワーク呼び出しを監視したいです。
ベストアンサー1
試すHTTP ツールキット- これはまさにこれを実現するために私が構築してきたオープンソース ツールです。手動での設定を必要とせずに Android デバイスからのトラフィックを自動的に傍受し、次のようにコンピューターからのすべての HTTP トラフィックを検査して書き換えることができます。
アプリからのHTTPSトラフィックを傍受するには、a) アプリケーションのネットワークセキュリティ構成で「ユーザー」証明書を信頼する(https://stackoverflow.com/a/38770284/68051) または b) エミュレーターまたはルート化されたデバイスを使用します (この場合、HTTP Toolkit は「システム」証明書を挿入することができ、アプリはそれを自動的に信頼します)。