python - 有序请求参数python

标签 python post python-3.x parameters python-requests

如何在请求中发布有序参数?

我尝试了以下方法,但都不起作用:

payload = dict{('f','1'),('s','2'),('t','3'),('f','4'),('ft','5'),('s','6'),('se','7'),('e':8,'data[1]','9'),('t','10'),('el','1q'),('data[2]','12'),('data[3]','13'),('data[4]','14'),('htmldata[5]','15')}

payload = OrderedDict{('f','1'),('s','2'),('t','3'),('f','4'),('ft','5'),('s','6'),('se','7'),('e':8,'data[1]','9'),('t','10'),('el','1q'),('data[2]','12'),('data[3]','13'),('data[4]','14'),('htmldata[5]','15')}

payload = (('f','1'),('s','2'),('t','3'),('f','4'),('ft','5'),('s','6'),('se','7'),('e':8,'data[1]','9'),('t','10'),('el','1q'),('data[2]','12'),('data[3]','13'),('data[4]','14'),('htmldata[5]','15'))

payload = ([('f','1'),('s','2'),('t','3'),('f','4'),('ft','5'),('s','6'),('se','7'),('e':8,'data[1]','9'),('t','10'),('el','1q'),('data[2]','12'),('data[3]','13'),('data[4]','14'),('htmldata[5]','15')])

我得到的错误是:

SyntaxError: invalid syntax

这一个以随机顺序发布参数没有错误:

payload = {'f':'1','s':'2','t':'3','f':'4','ft':'5','s':'6','se':'7','e':8,'data[1]':'9','t':'10','el':'1q','data[2]':'12','data[3]':'13','data[4]':'14','htmldata[5]':'15'}

如何使用以下代码发布有序参数?

c = requests.post(url, params = payload)

最佳答案

  • dict{...}错了,应该是dict(...)OrderedDict{...}
  • 也是如此
  • dictOrderedDict 接受一个序列作为参数
  • 您的元组列表中有 ('e':8,'data[1]','9')。可能应该是 ('e',8),('data[1]','9')

这会生成一个 dict(它等同于您发布的工作字典文字),它将始终是无序的:

payload = dict([('f','1'),('s','2'),('t','3'),('f','4'),('ft','5'),('s','6'),('se','7'),('e', 8),('data[1]','9'),('t','10'),('el','1q'),('data[2]','12'),('data[3]','13'),('data[4]','14'),('htmldata[5]','15')])

这会产生一个元组的元组请求不会作为数据的参数:

payload = (('f','1'),('s','2'),('t','3'),('f','4'),('ft','5'),('s','6'),('se','7'),('e', 8),('data[1]','9'),('t','10'),('el','1q'),('data[2]','12'),('data[3]','13'),('data[4]','14'),('htmldata[5]','15'))

剩下的两个(有序字典元组列表)将产生你想要的结果:

from collections import OrderedDict
payload = OrderedDict([('f','1'),('s','2'),('t','3'),('f','4'),('ft','5'),('s','6'),('se','7'),('e',8),('data[1]','9'),('t','10'),('el','1q'),('data[2]','12'),('data[3]','13'),('data[4]','14'),('htmldata[5]','15')])
payload = [('f','1'),('s','2'),('t','3'),('f','4'),('ft','5'),('s','6'),('se','7'),('e', 8),('data[1]','9'),('t','10'),('el','1q'),('data[2]','12'),('data[3]','13'),('data[4]','14'),('htmldata[5]','15')]

关于python - 有序请求参数python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19347236/

相关文章:

python - 区分python函数和类函数

Linux Mint 上的 Python3 错误 "no module named bluetooth"

python - python 中的父 __unicode__

php - 如何根据用户名 PHP 获取 URL

php - AJAX 联系表单发送空参数?

javascript - jQuery 和 PHP : Calculate the sum and send it back to client

Python-socketio:如何从服务器向客户端发送消息?

python - 相当于 pyGTK 中的 "weight"参数?

Python 3 mySQL.connector 卡住导入库

python - (datetime.datetime.today()-datetime.datetime.today()).天给-1