在GE客户端调试KML

时间:2012-08-03 11:28:56

标签: debugging kml google-earth

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

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

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

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

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

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

虽然Web代理(或我自己的globe服务器)允许我查看http流量,但我需要查看GE客户端中请求之间发生的情况。

1 个答案:

答案 0 :(得分:2)

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

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

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

您可以使用点击 kh.google.com,mw1.google.com,khmdb.google.com,mw2.google.com 来捕获HTTP会话,并使用完整网址,用于请求和响应的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/