在GE客户端中调试KML

4
使用Google Earth 6.2.2.6613客户端和KML文件进行工作,我需要进行调试。
我遇到了这样的情况,GE报告我的KML文件发出了“无效的HTTP请求”,并显示有问题的URL。
我可以将URL复制并粘贴到Web浏览器中,它会返回预期的结果。
所以问题是,“如何从GE客户端获取有用的调试信息”?
例如,“无效的HTTP请求”?怎么了?什么是无效的?GE客户端是否运行/具有调试日志或模式?
我正在使用Windows 7 Professional 64位,但未来还需要测试其他版本(Mac OS X)。
虽然Web代理(或我的全球服务器)可以让我查看http流量,但我需要看到GE客户端请求之间发生了什么。
1个回答

2

Google Earth本身不会记录其内部操作或启用调试模式以进行此类记录。您可以在“工具/选项/常规”菜单中启用“KML错误处理”,这可能会提供有关无效KML的更多信息,但最好使用诸如KML验证器之类的工具来验证KML。

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

Fiddler作为HTTP代理运行,并捕获所有Web访问,显示完整的HTTP请求和响应信息。只需单击“捕获流量”,然后启动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
...

调试完成后,您可以停止 Fiddler,这将恢复 HTTP 代理设置为正常状态。

我使用此工具快速查看 Google Earth 在幕后执行的操作。它易于使用且非常友好。

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


好的,但 Fiddler 不会告诉你客户端正在做什么,只会告诉你发送/接收的流量。如果您运行自己的 Globe 服务器,则可以获得相同的信息。 - stimpy
如果Google Earth客户端有调试模式,它没有记录,也没有在客户端中启用调试/日志记录的选项。注册表设置中也没有这样的选项。唯一的调试方法是检查HTTP流量。 - CodeMonkey
谢谢Jason,但HTTP流量并不能解决问题。请考虑所问的问题:“我怎么知道GE报告为无效的链接为什么无效?” HTTP流量只能回答可能原因的一半(最多)。 - stimpy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接