Ошибка urllib в Google App Engine и python. [Errno 11003] Ошибка getaddrinfo - PullRequest
0 голосов
/ 16 февраля 2012

Заранее спасибо за помощь!

Я хочу получить содержимое веб-сайта, поэтому я использую urllib.urlopen(url).

set url='http://localhost:8080'(tomcat page)

Если я использую Google App Engine Launcher, запуститеприложение, просмотрите http://localhost:8082, оно работает хорошо.Но если я укажу адрес и порт для приложения:

python `"D:\Program Files\Google\google_appengine\dev_appserver.py" -p 8082 -a 10.96.72.213 D:\pagedemon\videoareademo`

, то что-то не так:

Traceback (most recent call last):
File "D:\Program Files\Google\google_appengine\google\appengine\ext\webapp\_webapp25.py", line 701, in __call__
  handler.get(*groups)
File "D:\pagedemon\videoareademo\home.py", line 76, in get
  wp = urllib.urlopen(url)
File "C:\Python27\lib\urllib.py", line 84, in urlopen
  return opener.open(url)
File "C:\Python27\lib\urllib.py", line 205, in open
  return getattr(self, name)(url)
File "C:\Python27\lib\urllib.py", line 343, in open_http
  errcode, errmsg, headers = h.getreply()
File "D:\Program Files\Google\google_appengine\google\appengine\dist\httplib.py", line 334, in getreply
  response = self._conn.getresponse()
File "D:\Program Files\Google\google_appengine\google\appengine\dist\httplib.py", line 222, in getresponse
  deadline=self.timeout)
File "D:\Program Files\Google\google_appengine\google\appengine\api\urlfetch.py", line 263, in fetch
  return rpc.get_result()
File "D:\Program Files\Google\google_appengine\google\appengine\api\apiproxy_stub_map.py", line 592, in get_result
  return self.__get_result_hook(self)
File "D:\Program Files\Google\google_appengine\google\appengine\api\urlfetch.py", line 365, in _get_fetch_result
  raise DownloadError(str(err))
DownloadError: ApplicationError: 2 [Errno 11003] getaddrinfo failed

Самое странное, когда я меняю форму URL "http://localhost:8080" на«http://127.0.0.1:8080», это хорошо работает!

Я много гуглил, но не нашел хороших решений. Надеюсь на помощь!Кроме того, я не настроил прокси .IE работает хорошо.

1 Ответ

1 голос
/ 16 февраля 2012

Ваша система не обязательно знает, что localhost должен разрешить до 127.0.0.1. Возможно, вам придется поместить запись в ваш файл hosts. В Windows он расположен по адресу C:\Windows\System32\drivers\etc\hosts

...