For Want Of A Better Word

デバッグプロキシ Charlesの導入

      2015/04/19

Charlesの導入

Charlesについて

■無料版:有料版の違い
上記サイトより引用。

ライセンスを購入していないときは、基本的に全ての機能を使えるけれど以下2つの制約があります。
・起動するとき10秒待たないといけない
・30分経つとCharlesが自動終了する(アラートとかないです)

⇒ちょっと変わっているみたいなのでメモ。

  • 起動時に10秒や、操作時まれに5秒の広告表示が入る。
  • 30分経つとCharlesが自動終了する(アラートダイアログがでます。)
  • 30日間しか試用できない。

インストールしてみる。
  • ダウンロード
    • http://www.charlesproxy.com/download/
    • windows 32bit版のmsiをダウンロードして、実行してインストール。
    • FireFoxのアドオンとしてもインストールが必要見たい。
      • とはいえChromeとかでも問題なくキャプチャ出来る。

設定してみる
  • ①通常のプロキシの設定

社内LAN等で、プロキシを利用している場合は、「Proxy>External Proxy Setteings」からプロキシを設定しておきます。

※参考元サイトには特に記述は無いですが、「proxy Settings」の「Enable transfer HTTP proxying」は設定しなくてもよさそうだけど、念のために設定。

  • ②特定のリクエストに対して、ローカルのファイルを参照するようにしてみる。

「Tools > Map Local から、Enable Map Local にチェックを入れて Add をクリック」

  • ③キャッシュをオフ設定

Tools > No Caching をチェックするだけ

動作確認①(ローカルマッピング)

上記手順でやってみたもののなんか、動かない。
リクエストも取得出来てないし、マッピングもさっぱり。

ということで一度ブラウザとCharlesを再起動の上、設定を見直す。
そうすると、「マッピングの設定」と「ブラウザからアクセスするURLの指定」がうまく無かった様子。

  • 「マッピングの設定」は「*」なり特定ファイル名なりを入れないといけない。(参考サイトにもちゃんと書いてますね。。)
  • 「ブラウザからアクセスするURLの指定」は「/」ではなく、パスにちゃんとファイル名を指定してあげないと駄目っぽい。

例えばMapFromのPathに「/*」で指定して、実際のURLとして「/」でアクセスしてもマッピング先が表示されない。

  • おそらくサイト上は「/」でアクセスしてもWEBサーバとかで、index.htmlとかindex.phpとかを読み込んでくれるけど、

ローカルの場合は、その自動読込が無いので駄目。

  • マッピング先をローカルのフォルダではなく、ローカルの1ファイルを固定で指定したら、「/」アクセスでもローカルファイルを参照したので、上記仮説で合っている気がする。。

※ここでは特に触れませんが、リモートマッピングもほぼ同じやり方で出来たのでOK。

動作確認②(レスポンスHTMLの書き換え。)
  • レスポンスHTMLの一部を書き換えるということも出来るらしいので、それもやってみる。(例えばjsタグをぶち込んでみるとか。)
    • CSSを書き換える程度なら、FireBugが良いよね。
  • 方法
    • 「Tools>Rewrite」を選択。
    • 「Enable Rewrite」をチェックして画面左側の「Sets」の「Add」ボタンを押下する。
    • そうすると右上に対象とするURLの設定、右下にそのURLに対する変換ルールを設定する項目が表示されるので、ナビに従って設定すればOK。
    • HTMLの内容を変更する場合は「rule」の設定で、「Type」を「Body」にして、「Where」で「Response」をチェックして、「match」と「replace」の「value」に値を設定すればOK。
    • ※「Type」の「Header Modify」とかはhttpdヘッダーの編集。最初はHTMLのheadタグがのことかと思っていたけれど、HTMLは全部「body」です。
    • 例:タイトルを変更

  • メモ
    • マルチバイト文字(日本語)はマッチング出来ないみたい。
    • charlesを一旦起動して停止すると、普通のインターネットへの接続が、プロキシサーバーに接続が拒否されましたって言われて閲覧できない。charlesが立ち上がっている場合しかインターネットに接続できない状態になっている。。。ほんとかこれ?

 - 未分類

  関連記事

no image
Firebug (ver 2.0.1)からjavascriptの実行

Firebugのバージョンが上がってから、なんか前に書いた記事とやり方が変わって …

【Linux】英語キーボードで「:」(コロン) と 「=」(イコール)

centosの仮想環境を使っていると、キーボードの入力が英語になっていて、vim …

no image
今更だけどWindowsXPにPowerToys

http://www.forest.impress.co.jp/article/ …