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的区别: