Cannot fetch URLs from GAE local environment

谁说胖子不能爱 提交于 2020-01-10 05:08:26

问题


I'm getting the following error when trying to fetch an URL with urllib2 in the google app engine:

error: An error occured while connecting to the server: Unable to fetch URL: http://www.google.com Error: [Errno 10106] getaddrinfo failed

This is the code calling the urllib2 open read methods:

def get(self):
        self.write(urllib2.urlopen("http://www.google.com").read())
        self.render_index()

Nothing fancy, just a call to the library inside the main handler to ouptut the fetched text.

My PC resolves DNS correctly. I can use the urllib2 library from the python interpeter, fetching URLs successfully.

The deployed code running from the google servers work as intended, it's something with my local environment but I can't find what is it.

I also tried using urlfetch from gae with similar results (same getaddrinfo failed)

I switched to Google DNS some days before working with the urllib2 library but switching back to ISP provided DNS didn't work either.

EDIT: When calling the function with an IP address the URL is fetched:

self.write(urllib2.urlopen("http://173.194.42.34").read())

Thanks in advance!


回答1:


I'm fairly certain that your DNS resolver fails to resolve the hostname. I assume that your OS, or security software prohibits the devserver from creating outbound connection. Another possibility would be that you have invalid entry in your hosts file on your operating system.

Also, there are many similar questions which could help you.



来源:https://stackoverflow.com/questions/15492961/cannot-fetch-urls-from-gae-local-environment

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!