Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python请求/urllib2登录后顺序_Python_Python 2.7_Post_Python Requests - Fatal编程技术网

Python请求/urllib2登录后顺序

Python请求/urllib2登录后顺序,python,python-2.7,post,python-requests,Python,Python 2.7,Post,Python Requests,我正在尝试制作一个涉及访问受密码保护的网站的程序,我尝试使用请求和urllib2发布密码和另一个参数,但均无效,因为它们似乎改变了帖子中参数的顺序。我只能认为服务器依赖于这样一个事实,即参数总是以相同的顺序排列,因此它给了我所需的401授权 这是我当前的脚本: import requests s = requests.session() login_data = dict(post_password='PASSWORD', Submit='Submit') s.post('http://www

我正在尝试制作一个涉及访问受密码保护的网站的程序,我尝试使用请求和urllib2发布密码和另一个参数,但均无效,因为它们似乎改变了帖子中参数的顺序。我只能认为服务器依赖于这样一个事实,即参数总是以相同的顺序排列,因此它给了我所需的401授权

这是我当前的脚本:

import requests

s = requests.session()
login_data = dict(post_password='PASSWORD', Submit='Submit')
s.post('http://www.my_website.com/my_sub/wp-login.php?action=postpass', data=login_data)
从浏览器发送的邮件:

post_password=PASSWORD&Submit=Submit
从Python脚本发送的POST:

Submit=Submit&post_password=PASSWORD
如有任何信息,将不胜感激
谢谢

您可以使用订购的ICT

import requests
from collections import OrderedDict
s = requests.session()
login_data = OrderedDict([('post_password','PASSWORD'),('Submit','Submit')])
s.post('http://www.my_website.com/my_sub/wp-login.php?action=postpass', data=login_data)

我非常怀疑参数的顺序是否重要,但您可以告诉
请求
以维持顺序;请参阅(同样适用于
数据
参数
参数)。更可能的候选对象是Cookie(首先使用登录表单请求页面)和/或标题(
Referer
User Agent
),感谢您的回答,但正如Martijn指出的,我刚刚尝试测试过,顺序并不重要,问题在于缺少标题和cookie