Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 20, 2009 23:07:21

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

Проблема с переадресацией

Есть у меня скрипт, которому, после http запроса, через Location возвращается адрес. Проблема в том что при переходе на этот адрес возвращается ошибка, хотя в опере всё нормально. Правильно я составляю запрос?

 h.connect(host)
h.putrequest('GET',url)
h.putheader('Host', host)
h.putheader('Accept','text/plain,text/html,application/xml,application/html+xml,multipart/mixed,text/vnd.wap.wml,application/xhtml+xml')
h.putheader('Accept-Charset','windows-1251,utf-8;q=0.7,*;q=0.7')
h.putheader('Accept-language','ru,en-us;q=0.7,en;q=0.3')
h.putheader('User-Agent', unicode(usa))
h.putheader('x-wap-profile','http://nds1.nokia.com/uaprof/NN70-1r100.xml')
if cook!=None:
h.putheader('Cookie',cook)
h.putheader('Cookie2','$Version="1"')
h.endheaders()
ho=str(h.getreply()[2])
print ua(ho)
cook=''
location=''
ho=ho.split('\n')
for i in ho:
if i.startswith('Set'):
i=i.split(chr(59))[0].split(chr(32))[1]
if i.startswith('password'):pass
else:cook=cook+i+'; '
if i.startswith('Loc'):i=i.split(chr(32))[1];location=i
if cook.endswith('; '):cook=cook[:-2]
if location!='':fi=str(h.getfile().read());h.close();return cook, location, fi
else:fi=str(h.getfile().read());h.close();return cook, location, fi



Офлайн

#2 Окт. 21, 2009 22:34:50

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

Проблема с переадресацией

По вопросу: какую ошибку возвращает сервер? И если можно, то покажите полные листинги HTTP запроса и ответа (заголовки и тело сообщения). Тогда можно будет сказать что в них не так, по коду ничерта не видно, он с большим трудом читается, прям обфускация какая-то.

От себя: код ужасен до нимагу:( Парсинг заголовков HTTP сообщения - это велосипед, да и какой же он убогий…

Читать это: http://docs.python.org/library/urllib2.html и это: http://www.voidspace.org.uk/python/articles/urllib2.shtml
Это из стандартного, а есть ещё http://code.google.com/p/httplib2/, эта попроще будет.



Офлайн

#3 Окт. 25, 2009 22:25:28

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

Проблема с переадресацией

Вот ответ сервера:

Authorizing
/enter.php?login=login&password=password
Server: nginx/0.6.39

Date: Sun, 25 Oct 2009 20:19:58 GMT

Content-Type: text/html; charset=utf-8

Connection: close

X-Powered-By: PHP/5.1.6

Last-Modified: Sun, 25 Oct 2009 20:19:58 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Set-Cookie: PHP=8sq4r3obbs95m7hc9fagnlbut1; path=/

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Pragma: no-cache

Set-Cookie: id_user=1436; expires=Mon, 25-Oct-2010 20:19:58 GMT

Set-Cookie: password=deleted; expires=Sat, 25-Oct-2008 20:19:57 GMT

Location: enter.php?mode=enterPHP=8sq4r3obbs95m7hc9fagnlbut1

Content-Length: 7992


links is loading
/enter.php?mode=go
Server: nginx/0.6.39

Date: Sun, 25 Oct 2009 20:20:07 GMT

Content-Type: text/html; charset=utf-8

Connection: close

X-Powered-By: PHP/5.1.6

Last-Modified: Sun, 25 Oct 2009 20:20:00 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Pragma: no-cache


All: 84Remain 84Error: 0
/enter.php?mode=gok&to=4&id=2121
Server: nginx/0.6.39

Date: Sun, 25 Oct 2009 20:20:11 GMT

Content-Type: text/html; charset=utf-8

Connection: close

X-Powered-By: PHP/5.1.6

Last-Modified: Sun, 25 Oct 2009 20:20:10 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Pragma: no-cache

Location: go.php?url=veterok.h2m.ru

Content-Length: 3384
От себя: скрипт пишется под симбиан(причём 6-8), там нету нормальных функций для обработки ответа сервера
Спасибо



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version