Уведомления

Группа в Telegram: @pythonsu

#1 Май 23, 2009 12:58:40

ReinRaus
От:
Зарегистрирован: 2008-10-24
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

400 Bad request

IDLE 2.6      
>>> import httplib, time
>>> con=httplib.HTTPConnection('velgame.ru:80')
>>> referer='velgame.ru/index.php'
>>> site=''
>>> useragent='Vertu Platinum 1.5268'
>>> headers={'User-Agent':useragent, 'Accept':'*/*', 'Content-Type':'application/x-www-form-urlencoded', 'connection':'Keep-Alive', 'Referer':referer}
>>> con.request('GET', '/index.php', None, headers)
>>> temp=con.getresponse()
>>> site=temp.read()
>>> print site
<html><head>Много букв пропущено. Тело сайта грузится на ура</div></body></html>
>>> con=httplib.HTTPConnection('velgame.ru:80')
>>> con.request('POST', '/index.php', 'nik=vasja&pas=pupkin', headers)
>>> temp=con.getresponse()
>>> print temp.read()
<div align="center"><font color=#FF0000>Error! Invalid request!<br>www.velgame.ru</font></div>
В общем запросы GET проходят нормально, а POST возвращают ошибку 400. Причем появляется ошибка именно на этом сайте, на других аналогичный код работал на ура. Ну и на всякий случай вот заголовки, которые возвращает сервер.
>>> temp.getheaders()
[('x-powered-by', 'PHP/4.4.9'), ('transfer-encoding', 'chunked'), ('keep-alive', 'timeout=5, max=500'), ('server', 'Apache/1.3.41 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.7e-p1 PHP/4.4.9 FrontPage/5.0.2.2510'), ('connection', 'Keep-Alive'), ('date', 'Sat, 23 May 2009 09:50:22 GMT'), ('content-type', 'text/html')]
Подскажите, пожалуйста, в чем я ошибаюсь при отправке POST запроса.



Офлайн

#2 Май 23, 2009 14:09:52

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

400 Bad request

ReinRaus
Подскажите, пожалуйста, в чем я ошибаюсь при отправке POST запроса.
Ну например, почему вы не передаете заголовок `Content-type`?



Офлайн

#3 Май 23, 2009 14:55:12

ReinRaus
От:
Зарегистрирован: 2008-10-24
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

400 Bad request

Daevaorn
ReinRaus
Подскажите, пожалуйста, в чем я ошибаюсь при отправке POST запроса.
Ну например, почему вы не передаете заголовок `Content-type`?
Content-Type: application/x-www-form-urlencoded этот заголовок передается в переменной headers



Офлайн

#4 Май 23, 2009 17:50:28

ReinRaus
От:
Зарегистрирован: 2008-10-24
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

400 Bad request

В общем все работает отлично. Код делает то, что должен делать. Обнаружилось следующее- если передавать параметр с именем pas , то выдается такая ошибка. Даже не знаю как это обойти. Пробовал по всякому.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version