Форум сайта python.su
0
Всем доброго дня!
Для авторизации на сайте я отправляю несколько post запросов с данными, т.е. повторяю действия которые показал сниффер…
В один прекрасный момент после post запроса происходит редирект…
Так вот сниффер мне показывает что после редиректа, Ip ресурса должен оставаться прежним, меняется только ссылка, а в моем коде редирект отправляет запрос на другой ip…
Может ли быть это разрыв сессии? Какие могут быть причины этого?
Офлайн
173
Без конкретных данных (код, адреса, лог, запросы) сложно ответить .
Может там так и задумано, что один общий сервер авторизации для нескольких проектов (как Гугл, лостфильм и т.п.).
Офлайн
0
Тогда у меня такой вопрос:
Если я отправляю Post запрос с параметрами, например:
payload = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'} r = requests.post("http://httpbin.org/post", data=payload)
Офлайн
14
Очень сомневаюсь. Сервер на своей стороне загоняет их обратно в хеш-массив.
Чтобы выводить параметры в оригинальном порядке, можно попробовать передавать массив пар, или воспользоваться OrderedDict.
Офлайн
173
SeganapaЗависит от приложения на сервере, но вообще не должно.
Может ли это как-нибудь влиять на ответ сервера, не нарушает ли это структуру запроса?
payload = [('key1', 'value1'), ('key2', 'value2'), ('key3', 'value3')]
Офлайн
14
Небольшой совет: почему бы не оформить это так? Один вызов = один запрос.
r = requests.post("http://httpbin.org/post", data={ 'key1': 'value1', 'key2': 'value2', 'key3': 'value3', })
r = requests.post("http://httpbin.org/post", data=[ ('key1': 'value1'), ('key2': 'value2'), ('key3': 'value3'), ])
Отредактировано odnochlen (Авг. 11, 2012 02:15:28)
Офлайн
0
А если это применимо к json.dumps?
Например:
import json json_arg = json.dumps({ "name": "qwery", "password": "psa", "passwordhash": "", "autologin": False }) print json_arg
Офлайн
173
odnochlen
…воспользоваться OrderedDict.
import json from collections import OrderedDict json_arg = json.dumps(OrderedDict([ ("name", "qwery"), ("password", "psa"), ("passwordhash", ""), ("autologin", False), ])) print json_arg
Офлайн