4

Google Earth 6.2.2.6613 クライアントと KML ファイルを使用しており、デバッグが必要です。

KML ファイルが「無効な HTTP 要求」を行ったと GE が報告し、問題のある URL が表示される状況があります。

URL をカット アンド ペーストして Web ブラウザに貼り付けると、期待どおりの結果が返されます。

問題は、「GE クライアントから有用なデバッグ情報を取得するにはどうすればよいか」ということです。

たとえば、「無効な HTTP 要求」ですか? どのように ?何が無効ですか?GE クライアントは実行されていますか? デバッグ ログまたはモードがありますか?

Windows 7 Professional 64bit を使用していますが、将来的には他のバージョン (Mac OS X) をテストする必要があります。

Web プロキシ (または自分の地球儀サーバー) を使用すると http トラフィックを確認できますが、GE クライアントで要求の間に何が起こるかを確認する必要があります。

4

1 に答える 1

2

Google Earth 自体は、内部で行っていることをログに記録したり、そのようなログを有効にするデバッグ モードを持っていません。[ツール]、[オプション]、[全般] メニューの[ KML エラー処理] を有効にすると、無効な KML に関する詳細情報が得られる場合がありますが、KML の検証にはKML Validatorなどを使用するのが最適です。

したがって、Google Earth の HTTP アクセスをデバッグする最も簡単な方法は、Fiddler Web Debugger などのネットワーク アナライザを使用してネットワーク トラフィックを識別することです。

Fiddler は HTTP プロキシとして実行され、完全な HTTP 要求と応答情報を示すすべての Web アクセスをキャプチャします。[トラフィックのキャプチャ] をクリックして Google Earth を起動し、すべての HTTP トラフィックをキャプチャします。

kh.google.com、mw1.google.com、khmdb.google.com、mw2.google.com などへのヒットで HTTP セッションをキャプチャでき、完全な URL、リクエストとレスポンスの HTTP ヘッダーなどを含むものです。複数のビュー、フィルタリング、デコード、タイミング情報など、多くのオプションがあります。選択したレイヤーが KMZ ファイルとしてダウンロードされていることがわかります。

Sample Web session

Result Port  Host            URL
200    HTTP  kh.google.com   /geauth?ct=free
200    HTTP      Tunnel to www.google.com:443
200    HTTP      Tunnel to accounts.google.com:443 
200    HTTP  kh.google.com   /flatfile?q2-0-q.534
200    HTTP  mw1.google.com  /mw-earth-vectordb/photos/360cities/360cities.kmz
200    HTTP  mw1.google.com  /mw-weather/base/files/kml/weather_en.kmz
...

デバッグ後、HTTP プロキシ設定を通常に戻す Fiddler を停止できます。

このツールを使用して、Google Earth が舞台裏で何をしているのかをすばやく確認します。使いやすく、とてもフレンドリーです。

http://www.fiddler2.com/fiddler2/

于 2012-10-05T13:55:44.483 に答える