使用 Google 地球 6.2.2.6613 客户端和 KML 文件,我需要进行调试。
我遇到过 GE 报告我的 KML 文件发出了“无效 HTTP 请求”并且显示有问题的 URL 的情况。
我可以将该 URL 剪切并粘贴到网络浏览器中,它会返回预期的结果。
所以问题是“如何从 GE 客户端获取有用的调试信息?”
例如“无效的 HTTP 请求”?如何 ?什么无效? GE 客户端是否运行/具有调试日志或模式?
我使用的是 Windows 7 Professional 64 位,但将来我需要测试其他版本 (Mac OS X)。
虽然 Web 代理(或我自己的 Globe 服务器)允许我查看 http 流量,但我需要查看 GE 客户端中的请求之间发生了什么。
最佳答案
Google 地球本身不会记录其内部所做的事情,也没有 Debug模式来启用此类日志记录。您可以在“工具/选项/常规”菜单中启用“KML 错误处理”,这可能会提供有关无效 KML 的更多信息,但验证 KML 最好使用 KML Validator 之类的内容来完成。 .
因此,调试 Google 地球 HTTP 访问的最简单方法是使用网络分析器(例如 Fiddler Web 调试器)来识别网络流量。
Fiddler 作为 HTTP 代理运行,并捕获所有 Web 访问,显示完整的 HTTP 请求和响应信息。只需点击“捕获流量”,然后启动 Google 地球即可捕获所有 HTTP 流量。
您可以捕获对 kh.google.com、mw1.google.com、khmdb.google.com、mw2.google.com 的点击的 HTTP session ,以及完整的 URL 、请求和响应的 HTTP header 等。多 View 、过滤、解码、计时信息等有很多选项。您将看到所选图层正在下载为 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 地球在幕后所做的事情。它易于使用且非常友好。
关于在GE客户端中调试KML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11794835/