栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python请求模块发送JSON字符串而不是x-www-form-urlencoded参数字符串

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python请求模块发送JSON字符串而不是x-www-form-urlencoded参数字符串

获得JSON的原因是因为您显式调用

json.dumps
以生成JSON字符串。只是不这样做,您就不会得到JSON字符串。换句话说,将第一行更改为:

data = {'param1': 'value1', 'param2': 'value2'}

正如文档所解释的,如果将dict作为

data
值传递,它将以形式编码,而如果传递字符串,则将按原样发送。


例如,在一个终端窗口中:

$ nc -kl 8765

在另一个:

$ python3>>> import requests>>> d = {'spam': 20, 'eggs': 3}>>> requests.post("http://localhost:8765", data=d)^C>>> import json>>> j = json.dumps(d)>>> requests.post("http://localhost:8765", data=j)^C

在第一个终端中,您将看到第一个请求主体是this(和Content-Type

application/x-www-form-urlenpred
):

spam=20&eggs=3

…而第二个是这个(并且没有Content-Type):

{"spam": 20, "eggs": 3}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647288.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号