Python requests库参数提交的注意事项总结

时间:2021-05-22

字典与json字符串区别

# python 中的字典格式,是dict类型{'a': 'sd'}如果声明a = {"a": "sd"},它仍是字典,不过python会默认将双引号换成单引号,最后打印的仍然为{'a': 'sd'}# python 中的json字符串,是str类型{"a": "sd"}两者差别在于引号

在爬虫的过程中有些请求参数是json字符串的,有的是字典类型的,要区分json字符串和字典

json字符串格式如

点击view source

很显然是json字符串格式的,字典转json字符串可以用json.dumps()函数

用data=json.dumps({ })

字典格式如

点击view source后得到的东西显然可以直接加到url后面的,直接用字典形式提交data={}即可

附:Python中的requests模块注意事项

主要是说requests.post()方法,

  参数:

    url : 这就不解释了

    data: 如果传入的是字典类型,则字典在发出请求时会自动编码为表单形式,表单形式会将字典中的键和值进行一些操作: key1=value1&key2=value2

      如果传入的是字符串类型,则数据会被直接发送出去。

      2.4.2版本开始提供了json参数,默认会执行json.dumps()

    headers

      我们可以自定义请求头部。

        content-type: application/json application/json用来告诉服务端消息主体是序列化后的 JSON 字符串

           application/x-www-form-urlencoded 浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。
                  他会按照原始的表单编码方式,也就是将键值对按照以下方式编码:title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3

              multipart/form-data 浏览器如果要在表单上传文件必须指定该首部

              text/xml xml格式,相对于json来说xml更重量级。

总结

到此这篇关于Python requests库参数提交注意事项的文章就介绍到这了,更多相关Python requests库参数提交内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章