Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » urllib.request.build_opener() как задоть более 5ти заголовков [RSS Feed]

#1 Май 13, 2010 17:41:13

VeNOm
От:
Зарегистрирован: 2010-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib.request.build_opener() как задоть более 5ти заголовков

opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
opener.addheaders = ....
нужно передать 11 заголовков. После передачи 6ти

[('User-agent','Opera/9.80'),('Accept-Language',' ru-RU,ru;q=0.9,en;q=0.8'),('Accept-Charset',' iso-8859-1, utf-8, utf-16, *;q=0.1'),('Accept-Encoding',' deflate, gzip, x-gzip, identity, *;q=0'),('Cookie2',' $Version=1'),('Connection',' Keep-Alive, TE'),]
питон пишет
File “C:\Python31\lib\urllib\request.py”, line 1029, in do_request_
for name, value in self.parent.addheaders:
ValueError: too many values to unpack
python 3.1



Отредактировано (Май 13, 2010 17:41:37)

Офлайн

#2 Май 13, 2010 23:22:17

r1der
От:
Зарегистрирован: 2010-04-13
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib.request.build_opener() как задоть более 5ти заголовков

ошибка возникает тут

class AbstractHTTPHandler(BaseHandler):

...

def do_request_(self, request):
...
for name, value in [b]self.parent.addheaders[/b]:
print(self.parent)
name = name.capitalize()
if not request.has_header(name):
request.add_unredirected_header(name, value)

return request
этот объект не может распаковаться в 2 значения(ключ и значение, сорри за тафтологию) скорее всего ты пытался всунуть в addheaders кортеж из трех или более элементов
выложи весь код всех сетевых операций до ошибки.



Офлайн

#3 Май 14, 2010 10:50:05

VeNOm
От:
Зарегистрирован: 2010-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib.request.build_opener() как задоть более 5ти заголовков

import sys,os,re,urllib,http.cookiejar

mail = ''
pas = ''
data = "handle="+mail+"&password="+pas
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
x=[('Accept-Encoding',' deflate, gzip, x-gzip, identity, *;q=0'),('Connection',' Keep-Alive, TE'),('TE',' deflate, gzip, chunked, identity, trailers'),('Accept-Language',' ru-RU,ru;q=0.9,en;q=0.8'),('Accept-Encoding',' deflate, gzip, x-gzip, identity, *;q=0')]
opener.addheaders(x)



Офлайн

#4 Май 14, 2010 13:03:13

r1der
От:
Зарегистрирован: 2010-04-13
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib.request.build_opener() как задоть более 5ти заголовков

у меня подобный код выполнился без проблем.. дело в другом. скачай заново питон, а точнее отдельно моули urllib.. и попробуй снова, все должно нормально работать поидеелибо выложи полный код программы чтобы можно было понять в чем дело..



Офлайн

#5 Май 15, 2010 19:07:37

VeNOm
От:
Зарегистрирован: 2010-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib.request.build_opener() как задоть более 5ти заголовков

import sys,os,re,urllib,http.cookiejar


mail = 'N***********.ru'
pas = '********'
data = "handle="+mail+"&password="+pas
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
x=[('Accept-Encoding',' deflate, gzip, x-gzip, identity, *;q=0'),('Connection',' Keep-Alive, TE'),('TE',' deflate, gzip, chunked, identity, trailers')]
opener.addheaders(x)

data = ''
r = opener.open('http://www.lockerz.com/user/get_daily_ptz',data)


#print (r.read().decode())



Офлайн

  • Начало
  • » Web
  • » urllib.request.build_opener() как задоть более 5ти заголовков[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version