Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 16, 2015 13:15:59

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

Не добавляется header (Python 2.7, urllib2)

Пытаюсь добавить User-Agent, как это описано в Dive into Python:

>>> import urllib2
>>> request = urllib2.Request('http://google.ru')
>>> request.add_header('User-Agent', 'OpenAnything/1.0')
Никаких ошибок не выдает, но проверка выдает, что заголовок не добавился:

>>> request.has_header('User-Agent')
False
Что я делаю не так?

Офлайн

#2 Апрель 16, 2015 16:49:41

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

Не добавляется header (Python 2.7, urllib2)

Разобралась, дело в регистре.

>>> request.headers
{'If-modified-since': 'Thu, 16 Apr 2015 13:22:19 GMT', 'User-agent': 'OpenAnything/1.0 +http://diveintopython.org/'}
>>> request.has_header('If-Modified-Since')
False
>>> request.has_header('If-modified-since')
True

Но при этом дебаггер в заголовках пишет:

User-Agent: Python-urllib/2.7

Почему не OpenAnything/1.0?

Отредактировано Elaphe (Апрель 16, 2015 17:00:38)

Офлайн

#3 Апрель 17, 2015 02:12:30

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Не добавляется header (Python 2.7, urllib2)

Elaphe
Разобралась, дело в регистре.
Регистр там обычно роли не играет.

import urllib2
 
request = urllib2.Request('http://www.yandex.ru')
request.add_header('user-agent', 'test')
data = urllib2.urlopen(request)
data.read()
Так нормально всё отправляет.



Отредактировано py.user.next (Апрель 17, 2015 03:53:59)

Офлайн

#4 Апрель 17, 2015 12:50:27

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

Не добавляется header (Python 2.7, urllib2)

Спасибо, оно сработало.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version