4

使用 Google Earth 6.2.2.6613 客户端和 KML 文件,我需要进行调试。

我遇到 GE 报告我的 KML 文件发出“无效的 HTTP 请求”并显示有问题的 URL 的情况。

我可以将 URL 剪切并粘贴到 Web 浏览器中,它会返回预期的结果。

所以问题是“如何从 GE 客户端获得有用的调试信息?”

例如“无效的 HTTP 请求”?如何 ?什么无效?GE 客户端是否运行/有调试日志或模式?

我使用的是 Windows 7 Professional 64bit,但将来我需要测试其他版本(Mac OS X)。

虽然 Web 代理(或我自己的全球服务器)可以让我查看 http 流量,但我需要查看 GE 客户端中的请求之间发生了什么。

4

1 回答 1

2

Google 地球本身不会记录它在内部所做的事情,也没有调试模式来启用此类记录。您可以在工具/选项/常规菜单中启用“ KML 错误处理”,这可能会提供有关无效 KML 的更多信息,但最好使用KML Validator之类的工具来验证 KML 。

因此,调试 Google 地球 HTTP 访问的最简单方法是使用网络分析器(例如 Fiddler Web Debugger)来识别网络流量。

Fiddler 作为 HTTP 代理运行并捕获显示完整 HTTP 请求和响应信息的所有 Web 访问。只需单击“捕获流量”,然后启动 Google 地球即可捕获所有 HTTP 流量。

您可以捕获 HTTP 会话,其中包含对kh.google.com、mw1.google.com、khmdb.google.com、mw2.google.com 等的点击,以及完整的 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
...

调试后,您可以停止 Fiddler,它将 HTTP 代理设置恢复正​​常。

我使用这个工具可以快速了解 Google 地球在幕后所做的事情。它易于使用且非常友好。

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

于 2012-10-05T13:55:44.483 回答