Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 13, 2010 21:51:52

belk_o
От:
Зарегистрирован: 2010-05-23
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib2 - ничего не получает!

Здравствуйте!

проблема вот в чём- простейший код:

import urllib2
URL="http://i.juick.com/a/123.png"
headers = {'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)'}
req = urllib2.Request(URL,None,headers)
response = urllib2.urlopen(req,timeout=10)
the_page = response.read()
отваливается по тайм ауту
при этом на другой машине всё отлично!
менял таймаут, юзер - агента - не помогает
в браузере всё отлично моментально открывается

помогите!
может какой модуль криво встал?



Офлайн

#2 Авг. 14, 2010 10:55:19

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib2 - ничего не получает!

Этот конкретный пример кода не работает потому, что веб сервер возвращает картинку с кодом ответа 404, что вызывает urllib2.HTTPError исключение. Чтобы заработало нужно обработать запрос таким вот образом:

import urllib2
URL="http://i.juick.com/a/123.png"
headers = {'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)'}
req = urllib2.Request(URL,None,headers)
try:
response = urllib2.urlopen(req,timeout=10)
except urllib2.HTTPError, e:
the_page = e.read()
else:
the_page = response.read()
Проблему с таймаутом воспроизвести не удалось, трудно гадать в чём может быть проблема.



Офлайн

#3 Авг. 14, 2010 16:21:49

belk_o
От:
Зарегистрирован: 2010-05-23
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib2 - ничего не получает!

Этот конкретный пример кода не работает потому, что веб сервер возвращает картинку с кодом ответа 404…
ну да.. - по исключению я и обработал этот код позже ;(

на другой - то машине всё работает без проблем!

видимо нужно смотреть в сторону настроек сети самой машины…

Спасибо за ответ!



Отредактировано (Авг. 14, 2010 16:23:43)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version