2

我有一个显示天气详细信息的简单小工具。

我正在使用这个 google api 通过其邮政编码获取任何地区的天气详细信息

"https://www.google.com/ig/api?weather=ZipCode"

一切正常。但是现在,相同的代码给了我“请求超时”错误。我再说一遍,相同的代码给了我“请求超时”错误。

这些是我尝试通过网络服务获取天气详细信息的方法:

1. xmlDoc.Load("https://www.google.com/ig/api?weather=" + ZipCode);

2. using (WebClient client = new WebClient())
                {
                    var data = client.DownloadData("https://www.google.com/ig/api?weather=" + zipcode);
                    MemoryStream theMemStream = new MemoryStream();
                    theMemStream.Write(data, 0, data.Length);
                    xmlDoc.Load(theMemStream);
                }

和其他几个(类似的)方法来获取 web 服务的响应(url 的内容);

但无论如何,它都会给我同样的“请求超时”消息。

任何人都可以建议我..到底发生了什么?这一切都是在我对我的应用程序执行性能测试之后发生的。(不确定此信息是否有帮助)。

GUESS:(可能是因为从同一个 IP 地址生成了太多对 Web 服务的请求,谷歌阻止了我。如果是这样的话..现在该怎么办??:)

注意:当我在浏览器地址中输入 url(带邮政编码)时,我会得到漂亮的 XML,其中包含我需要的所有信息)

请帮帮我..(我选择了谷歌API,因为它们的可靠性和“永远在线”的性质)

4

2 回答 2

1

请参阅以下有关Google Weather API 403 错误的内容。

谷歌现在已经完全撤下了 API。

于 2012-10-18T09:54:11.507 回答
0

我也很怀疑您是否通过了使用限制并被标记,但由于 Google Weather API 没有记录且非官方,因此很难知道。您确定要在代码中使用它吗?您想考虑切换到官方 API。Google 的天气 API 随时可能消失。

国家气象局作为您可能要考虑的网络服务。http://graphical.weather.gov/xml/

于 2012-04-16T13:55:08.120 回答