2012-08-07 58 views
1

我想知道是否存在限制性的应用程序引擎代理服务,这些代理服务提供了今天刚刚更改的网址提取请求。例如,此网址http://www.google.com/ig/calculator?q=1eur=?usd直到几个小时前才顺利运行。这是我得到现在urllib2.urlopen在部署的应用程序中失败

http://www.google.com/ig/calculator?q=1eur=?usd返回一个错误的错误:HTTP错误503:服务不可用

注在SDK中(谁使用我的本地互联网连接)下面的代码工作。 'curl http://www.google.com/ig/calculator?q=1eur=?usd'的作品,所以我不认为它是谷歌限制,请求不是来自最终用户浏览器(即没有vainilla用户代理)。这可能是几个小时前在应用引擎基础架构中发生的变化。

url = 'http://www.google.com/ig/calculator?q=1eur=?usd' 
    request = urllib2.Request(url = url, data = None) 

    try: 
     response = urllib2.urlopen(request) 
    except urllib2.URLError, e: 
     raise Exception("%s returned an error: %s" % (url, e)) 
+0

你有没有试过'urlfetch.fetch'?什么是例外?我认为503并不是一个例外。 – xiaowl 2012-08-07 09:06:16

+0

这可能是该服务正在限制来自同一IPAddress的请求数量。您每天发送多少个请求(虽然他们可能是其他使用该服务的appengine应用程序,这也会导致限制)?有没有一段时间没有错误? – 2012-08-07 13:05:24

+0

嗯,我从cron执行这个。每小时一次,所以不要滥用它。 – bustrofedon 2012-08-07 20:56:16

回答

1

正如在评论中指出的那样,很可能你会看到被扼杀。 iGoogle拥有大量专用(但不是秘密)的API供Google在网页上运行的小工具使用(天气API是另一个广泛使用的示例)。但是,它们并非真正用于非Google小工具或应用程序的消费,并且它们的实现可以(并且)在没有通知的情况下进行更改。

此外,iGoogle is a deprecated product。我预计这些实用API将与iGoogle关闭同时消失(2013年11月1日)。如果您不希望在iGoogle消失时断开应用程序,我建议您为此信息找到不同的来源。

+0

有道理,我在Google上搜索欧元/美元汇率的一个很好的免费来源,然后那个人来了。我不需要最新的汇率。不知道igoogle会在一年内被弃用,所以最好找一个替代品。顺便说一句,它突然开始工作了,也许这是一个呃逆。我想,将它标记为回答。谢谢 – bustrofedon 2012-08-07 20:59:53

相关问题