バッグツールCharlesの使用心得


http://www.jianshu.com/p/fdd7c681929c
http://www.jianshu.com/p/fdd7c681929c
バッグツールCharlesの使用心得
文字数1421
読書6104
コメント6
好きです
概要
Charlesは実はエージェントサーバで、コンピュータやブラウザのエージェントになり、リクエストとリクエストの結果を切り取ってパッケージを分析する目的を達成します.このソフトはJavaで書かれており、Windows、Mac、Linuxで利用できます.iOSを開発するにはMacシステムにしましょう.CharlesをインストールするときはJava環境をインストールしてください.このような良いソフトウェアは無料ではありません.公式サイトには数十刀が必要です.私のところにはMacの解読版があります.ここをクリックしてダウンロードしてください.もちろん最新版ではありません.最新版を体験したいなら、Charlesは試用を提供しています.
Charlesの主な機能
SSLエージェントをサポートします.解析SSLの要求を切り取ることができます.
流量制御をサポートします.低速ネットワークおよび待ち時間の長いリクエストをシミュレートできます.
AJAXデバッグをサポートします.jsonまたはxmlデータを自動的にフォーマットでき、表示しやすいです.
AMFデバッグをサポートします.Flash RemotingまたはFlex Remoting情報をフォーマットでき、簡単に表示できます.
ネットワークリクエストの再送をサポートし、バックエンドのデバッグを容易にします.
ネットワーク要求パラメータの変更をサポートします.
ネットワークリクエストのキャプチャとダイナミックな変更をサポートします.
HTML、CSS、RSSの内容がW 3 C規格を満たしているかどうかを確認します.
バッグをつかみ始める
まずCharlesの廬山の正体を見てみましょう.

次にパソコンをエージェントに設定します

これにより、ブラウザで要求されたWebサイトがここに表示され、iOSシミュレータのすべてのネットワーク要求もここに表示されます.あるサイトをクリックすると、右側にこのサイトのリクエストの大まかな情報が表示され、具体的なリクエストをクリックするとrequestやresponseなどの情報が表示されます.

文字化けして返されていることに気づいたら、まずhttpリクエストかhttpリクエストかを見て、httpリクエストであれば、返された中国語の文字化けしているはずです.解決策は、パッケージの内容を表示するソフトウェアを見つけて、Contentsディレクトリの下のinfoを表示することです.plist、ファイルを開いてvmoptionを見つけ、-Dfile.encoding=UTF-8を追加すればいいです.

httpsリクエストで発生した文字化けしであれば、下図のような場合

その時CharlesのCA証明書をインストールする必要があります.まず行きます.http://www.charlesproxy.com/ssl.zipCA証明書ファイルをダウンロードします.crtファイルをダブルクリックして、いつも信頼していればいいです.もちろん、iPhoneデバイスのHTTPSリクエストをキャプチャするには、iPhoneにも証明書をインストールし、携帯電話のブラウザにこのサイトを入力する必要があります.http://charlesproxy.com/getsslをクリックしてインストールします.それからあなたはあの煩わしい文字化けしに別れを告げることができて、楽しくかばんを捕まえることができます.
本物のかばんをつかむ
本物のデータをつかむのはとても簡単で、まず携帯電話とパソコンを1つのローカルエリアネットワーク内に置いて、必ずしもipセグメントではなく、同じルータの下であればいいです.上記のように証明書をインストールして、コンピュータのIPを見つけて、端末にifconfig en0を入力して取得するか、ネットワークの好み設定を開いて表示するかを選択することができます.

端末取得IP

ネットワークの好みの設定はIPを表示します
次にCharlesのエージェント設定を開きます:Proxy->Proxy Settings、ポート番号を設定します.デフォルトは8888です.これは他のプログラムと衝突しなければいいので、Enable transparent HTTP proxyingをチェックします.

ポート番号の設定
携帯電話にパソコンと接続して同じローカルエリアネットワークのネットワーク上にHTTPエージェントを設置する.ポート番号はCharlesに設定したばかりのものです.

それから携帯電話の上で勝手に1つのウェブサイトを開けて、これはCharlesが1つの枠を弾いてあなたに代理かどうかを確認させて、allowをクリックすればいいので、それからあなたはCharlesの上で携帯電話の上の要求を発見することができます.

フィルタリング
CharlesのメニューバーでProxy->Recording Settingsを選択し、Includeを選択し、Addを選択し、監視が必要なプロトコル、ホストアドレス、ポート番号を入力することで、フィルタリングの目的を達成します.次の図を示します.

もう1つの方法は、1つのサイトを右クリックしてFocusを選択し、他のリクエストをOther Hostというフォルダに入れることで、フィルタリングの目的を達成することです.

ブレークポイント
ブレークポイントの機能を開発して知らないことはありません.Charlesがリクエストを開始したとき、私たちはあるリクエストにブレークポイントを打って、リクエストや戻った内容を観察したり修正したりすることができますが、この過程で漢方薬はリクエストのタイムアウト時間の問題に注意します.ある要求に対してブレークポイントを設定するには、この要求サイトを右クリックしてBreakpointsを選択するだけで、ある要求をブレークポイントすることができます.

アナログネットワーク速度が遅い
開発時にネットワークの遅い状況をシミュレートしたい場合があります.Charlesはあなたを助けることができます.Proxy->Throttle Settingで、Enable Throttlingを選択し、Throttle Presetでネットワークタイプを選択すればいいです.具体的には、自分でつまむことができます.

リダイレクトの要求
リダイレクトを要求する役割は何ですか?開発では一般的にテスト環境ですが、オンラインバージョンとの違いを比較したい場合は、テストのリクエストを正式な環境にリダイレクトすることができます.Tools->「`Map Remote」を選択します.

コンテンツの置換
要求されたパラメータの違いを測定すると、ビジネスニーズに達しているかどうかをテストしたり、データの処理が正しいかどうかを検証したりするために、バックグラウンドの同僚が協力する必要がありますが、Charlesがあれば、データの空かどうかなど、コントロールインタフェースを自分で返すことができます.データの長さなど.Tools->Rewrite Settingsで:

その他
Charlesには他にも素晴らしいものがあります.ゆっくり発掘しましょう!