我想知道是否存在限制性的应用程序引擎代理服务,这些代理服务提供了今天刚刚更改的网址提取请求。例如,此网址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))
你有没有试过'urlfetch.fetch'?什么是例外?我认为503并不是一个例外。 – xiaowl 2012-08-07 09:06:16
这可能是该服务正在限制来自同一IPAddress的请求数量。您每天发送多少个请求(虽然他们可能是其他使用该服务的appengine应用程序,这也会导致限制)?有没有一段时间没有错误? – 2012-08-07 13:05:24
嗯,我从cron执行这个。每小时一次,所以不要滥用它。 – bustrofedon 2012-08-07 20:56:16