ネットワークエージェントのセットアップAndroidの開発の概要

一、背景

ときの薬剤とのAndroidプロジェクトの開発、ネットワークは基本的に毎日を扱います。一般的に、頻繁にネットワークプロキシを使用、少なくとも3つのシナリオがあります:
1、頻繁にGoogleのChromeと、このようなSSツールなどによって、他の外国技術のWebサイトで訪問したが、
2、AS(Androidのメーカー)は、海外でのダウンロードAARまたはjarパッケージに必要とされますおよびその他のリソース;
Charlesなどの携帯電話のキャプチャは、コンピュータ上のキャプチャソフトウェアを回すと3は、携帯電話は、コンピュータネットワークパケットキャプチャソフトウェア対応するプロキシに接続されています。

など、ASによってSS、またはプルリソースを使用して、そしてチャールズ・パケットキャプチャするかどうか、時には我々はいくつかの「不可解な」ネットワークの問題が発生します。問題の解決、それかもしれない時々不可解良い、時には我々は解決できない長い時間がかかることがあります。場合は特に、同時にこれらの3つのツール。その理由は、ネットワークプロキシのために、このプロセス全体が出て見つけることができませんでした、と彼らはお互いに影響を与えるとの間で、問題はこの時間無力で発生する可能性があるかもしれないことです。

第二に、ネットワークプロキシプロセス

言及する価値ASブラウザイェジンハオを使用し、プロジェクト開発プロセス、アプリケーションレイヤソフトウェアに属し広いカテゴリー。ソフトウェア実装の過程では、実際の状況に基づいて、システムは、プロキシが行くために、プロキシがあるかどうかを決定するためにネットワークプロキシを有することができます。でも、このようなASなどの外部設定を提供し、Chromeはネットワークプロキシのための別の設定に行くことができます。設定されると、それは、特定の状況に基づいてネットワークを行くために、独自のソフトウェア構成とシステムネットワークプロキシと組み合わされます。もちろん、いくつかのソフトウェア、そしてそれは、システムのネットワークプロキシを判断しない、場合これで、どんなにシステムネットワークのプロキシ設定、またはデフォルトのネットワーク・プロセスに直接アクセスしてください。

同時に、異なるネットワークプロキシ構成で、ソフトウェアの影響は異なります。システムは、FTPプロキシ設定されている場合、例えば、それだけだけHTTPプロトコルソフトウェアが影響されない使用して、FTPプロトコル関連ソフトウェアの使用に可能な影響をもたらし得ます。システムは、この時点では、TCPプロキシを設定するTCPプロトコルソフトウェア上位のアプリケーション層を使用してHTTPプロトコルに配置されている場合しかし、それはまた、可能性が影響を受けることがあります。ので、HTTP層は、まだTCP層を介してネットワークに送信されます。

一般的に、全体的なプロセスは次のようです。

 

対応するソフトウェア・エージェントによって提供されるオペレーティング・システム・インタフェースのネットワークプロキシの設定は、エージェントは、特定のネットワーク情報を構成することができます。オペレーティングシステムに到達した後、他のネットワークアプリケーション層の要求は、ネットワークプロキシを取るかどうかを決定し、特定のネットワークのプロキシ設定に基づいてされ、ネットワークのプロセスを取るために、具体的方法について説明します。

一例として、SS(シャドウ**ソックス)では、実際には他のアプリケーション層ソフトウェアの観点から、SSのインストールは、すべてのネイティブクライアントの要求としてサーバーに属する層は、最終的にはSSによって転送されます。一方、SSからの薬剤の全体的なアーキテクチャは、SSは、マシンをインストールしたが、対応するリモートSSサーバがあるため、SS Clinetに属します。SSクライアントが転送、リモート・サーバに転送実際の要求情報、およびパッケージングした後に得られた結果に対応する要求を与えるために、脱ブロック、SS Serverは要求を取得し、指定されたSSサーバに到達します後にマシンを経由してネイティブクライアント要求SS、クライアントアプリケーションへの対応、ネイティブ後処理バックにクライアントの応答。

したがって、問題は、ネットワークの後にプロキシの設定を発生し、全体の判定処理は次のようにある場合:
1、ネットワークプロキシを設定するには、プロキシソフトウェアを使用して、ネットワークなしで、
セットならば2、特定の設定では、ある方法ですが、何のためにネットワークプロトコル設定;
3、ネットワークプロキシソフトウェアの設定は、(より有効にするかどうかを系统偏好 >> 网络 >> 高级 >> 代理見るGO);
4、ネットワークエージェントの他のアプリケーション層ソフトウェアサポートは、(別のネットワークプロキシ構成、およびネットワークプロキシがあるかどうか、他のアプリケーション層ソフトウェア自体に依存しますプロトコルレベル);
5、他のアプリケーション層ソフトウェアの期待影響の効果がある場合。

これが最も重要なポイントの一つはされています具体的网络代理设置其他应用层软件对网络代理的支持


第三に、ネットワークの代理店練習

異なるネットワークプロキシソフトウェアは、さまざまな設定方法があります。SS PACは、例えば、自動モード、ホワイトリストモード、グローバルモードを設けてもよいです。PACホワイトリストモードと自動モード、ドメイン名または配置のドロップダウンリストの更新、SSによるネットワーク要求の前進ネイティブに行くかどうかを最終的に決定します。Globalモードで直接ソケットレイヤプロキシは、httpトップへのアクセス、それが有効になります。そのため、あなたはグローバルモデルを設定した場合、パフォーマンスは、それが海外サイトまたは内の複数のサイトへのアクセスであるかどうかになり、SSによって前方ネットワーク要求を移動します。ブラウザ自体は、このような構成されたPACモデル、実際のアクセスなど、別のプロキシ設定を、持っている場合しかし、注意が必要な場所、グローバルモードの設定は、システムのデフォルトのHTTPプロキシ、HTTPSプロキシエージェントとSockesへの実際の対応であり、ウェブサイトのプロセスは、プロセスを服用すると、ブラウザは、システムのネットワークプロキシを無視した場合でも、PACモードになり、この時点で、直接接続モードに直接移動し、ネットワークのプロキシ設定が無効です。

SSグローバルプロキシ上の缶実際にテスト・システムの下では、我々は結果を見て、プロキシの設定は、システムによって検出されました:

これは、オーストラリアからのIPは、そのSSサーバアクセスリモートサーバー輸出IPアドレスを示しました。

 

新しいCHROMを開き、SwitchyOmegaは、システムのプロキシ、Webサイトによって得られたIPアクセス検出結果を通過することを選択します:

PACにSwitchyOmegaスイッチ(対応するニーズが設定された)、結果はそれを示しました:

 

この時点で、我々は新しいASを開くと、参照、好み>> HTTPプロキシの設定になります:

 

我々はSSグローバルネットワークプロキシモードの設定、システム上のこの時点では、それを発見した、と(この時点ではAS自体が、プロキシを設定していないが)ASは影響を与えました。例えば、AARダウンロードネットワークの下のリソースが失敗します。

もしSSモードがASを再起動する、あるいは(理由はキャッシュの有無)上記の警告は消滅を確認するためにJavaプロセスを殺すために、この時間が必要で、変更の対象となります。

もちろん、またにより、世界的に個々のアイテムまたはのGradle用のGradle可能gradle.propertiesに構成されたネットワークのプロキシ設定の方法。このような共通のように:

systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=1087
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=1087
复制代码

そこは非常に簡単な経験もあるが、ポイントは、あなたがチャールズキャプチャソフトを入れたとき、デフォルトでは、というシステム・エージェントを開始するということである見落とさProxy >> macOS Proxyデフォルトはチェックされています。

この時点で、チャールズ同等のプロキシ設定ソフトウェアが自動的に起動時にシステムHTTPとHTTPSプロキシを設定します。同じプロトコルのセットに対して有効この場合、同時に複数のネットワークが存在すること機械対応エージェントソフトウェア、および同時にプロキシネットワーク構成、最終結果は、効果は最初の開始後(被覆され、 、後で)が有効になっている方。いずれにせよ、この時間は、多くの場合、また、ASに影響を与え、例えば、証明書、またはダウンロードがAARリソースを失敗し、そうで見つけることができません。

以前は、ときAS開発プロジェクトは、ちょうど会ったチャールズ・キャプチャ、エージェンシー問題は長い間不可解を引き起こしました。

チャールズは、エージェントがキャンセルすることができます起動時にもちろん、システムはデフォルトで有効になっています。内の特定のパスをProxy >> Proxy Settings >> masOSセット。

実際の開発では、AS SSの設定の影響は、一般的に知られているが、チャールズ・捕捉剤は、しばしば苦痛を引き起こし、秘密であると、システムはデフォルトでオンになっています。

有効に両方の種類のプロキシモードを設定するエージェントソフトウェアのどのようなセットに関係なく、最終的な結果は、プロキシで使用可能な系统偏好 >> 网络 >> 高级 >> 代理中で参照するには。しかし、他のアプリケーションレイヤソフトウェアによって使用されるプロセスは、いくつかの不可解な問題が発生することがあります。この場合、ネットワークの後にプロキシの設定は、多くの場合、ソフトウェアを再起動しても、解決することができるなど、対応するプロセスを削除し、正しい方法です。


IV結論

異なるネットワークプロキシソフトウェアは、異なるネットワークのプロキシ効果を設定することができますが、全体的に、ネットワークエージェントプロセスはもちろん、チャールズはネットワークプロキシとして、それは実際にプロキシサーバーの存在しない(似ていますが、仲介者としてネットワークに要求を転送します)。

エージェントソフトウェアの複数の同時使用があるマシンの場合は、他のソフトウェアは、多くの場合、アプリケーション層に影響を与えます。この場合、結果は慎重にソートネットワークの最後のプロキシの設定だけでなく、他のプロキシ設定ソフトウェア自体、アウト判断し、総合的なプロセスにする必要があります。

エンド〜


著者:HappyCorn
リンクします。https://juejin.im/post/5d6a2fa26fb9a06b102740eb
出典:ナゲッツの
著者によって予約の著作権。著者は認可商業転載してください接触、非商用の転載は、ソースを明記してください。

おすすめ

転載: www.cnblogs.com/lwbqqyumidi/p/11991813.html
おすすめ