python post请求 相关

1.想要post请求返回双引号,可以使用

json.dumps(response_data)

如果response_data中有中文,加上ensure_ascii=False

json.dumps(response_data, ensure_ascii=False)

2. requests.post(url, data=data)的中的data类型根据接收方的接收类型

1)application/x-www-form-urlencoded 
最常见post提交数据的方式,以form表单形式提交数据。data是字典类型

d = {'key1': 'value1', 'key2': 'value2'}

r = requests.post(url, data=d)

2)application/json 
 以json串提交数据。需要把字典转换成json

s = json.dumps({'key1': 'value1', 'key2': 'value2'})

r = requests.post(url, data=s)

【延伸问题】:

application/x-www-form-urlencoded和application/json 的区别:

1.application/x-www-form-urlencoded方式是Jquery的Ajax请求默认方式,这种方式的好处就是浏览器都支持,在请求发送过程中会对数据进行序列化处理,以键值对形式

2.application/json,随着json规范的越来越流行,并且浏览器支持程度原来越好,许多开发人员将application/json作为请求content-type,告诉服务器请求的主体内容是json格式的字符串,服务器端会对json字符串进行解析,这种方式的好处就是前端人员不需要关心数据结构的复杂度,只要是标准的json格式就能提交成功,application/json数据格式越来越得到开发人员的青睐

【参考文档】:

1.Python 使用requests发送POST请求

https://blog.csdn.net/junli_chen/article/details/53670887

2.说说application/x-www-form-urlencoded和application/json的区别:

https://www.cnblogs.com/youcong/p/9709731.html

猜你喜欢

转载自blog.csdn.net/nature_ph/article/details/107188259