Hug*_*own 5 python google-app-engine urllib2 urlfetch
以下代码适用于Python交互式shell:
import urllib2
result = urllib2.urlopen("http://www.google.com/")
Run Code Online (Sandbox Code Playgroud)
并给出200结果.
如果我在与开发服务器本地运行的AppEngine应用程序中运行相同的代码,则会因以下错误而失败:
URLError: <urlopen error An error occured while connecting to the server:
Unable to fetch URL: http://www.google.com/
Error: [Errno 11004] getaddrinfo failed>`
Run Code Online (Sandbox Code Playgroud)
我试过urlfetch直接使用这个库:
from google.appengine.api import urlfetch
result = urlfetch.fetch("http://www.google.com")
Run Code Online (Sandbox Code Playgroud)
这也失败了(这是有道理的,因为我相信urllib2内部的AppEngine调用URLFetch?)
我可以清楚地从我的本地机器访问URL - 所以发生了什么?
更新:相关的堆栈跟踪:
File "c:\dev\repos\stackoverflow\main.py", line 40, in get_latest_comments
result = urlfetch.fetch("http://www.google.com")
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\urlfetch.py", line 266, in fetch
return rpc.get_result()
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub_map.py", line 604, in get_result
return self.__get_result_hook(self)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\urlfetch.py", line 397, in _get_fetch_result
raise DownloadError("Unable to fetch URL: " + url + error_detail)
DownloadError: Unable to fetch URL: http://www.google.com Error: [Errno 11004] getaddrinfo failed
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1534 次 |
| 最近记录: |