requests json data,requests post data

  requests json data,requests post data

  本文主要介绍requests.post()方法中数据和json参数的用法,具有很好的参考价值。希望对你有帮助。如有错误或不足之处,请不吝赐教。

  00-1010 requests . post()json和dictrequests.post()中的数据和json参数JSON和其他post请求中的数据的区别

  

目录

  

requests.post()中data和json参数

  python中的dict类型需要json库转换成json格式的数据:

  导入json

  json=json.dumps(dict)

  dict=json.loads(json)

  需要注意的是,python中没有json类型这种东西。json.dumps(dict)转换的dictionary对象最后得到的是一个string对象,也就是说python中json格式的数据实际上是一个string。

  j=json.dumps(dict)

  类型(j)

  类别“str”

  虽然json格式的数据在python中是作为字符串存在的,但是str(dict)工厂函数得到的结果和json.dumps(dict)方法得到的结果是不一样的。

  d={a: 1, b: 2}

  d_d={a: 1, b: 2}

  string=str(d)

  字符串d=字符串(d_d)

  js=json.dumps(d)

  js_d=json.dumps(d_d)

  字符串==字符串d

  真实的

  js=js_d

  真实的

  string==js

  错误的

  线

  {a: 1, b: 2}

  射流研究…

  {a: 1, b: 2}

  可见string和js的区别在于引号。对于可以用作json.loads(str)参数对象的字符串,除了字典类型格式之外,所有字符串对象都必须用双引号括起来。

  

json和dict

  当通过requests.post()发出POST请求时,传入消息有两个参数,一个是data,另一个是json。

  常见的表单表单可以直接使用data参数进行消息提交,而data对象是python中的dictionary类型;

  在最新爬虫的过程中,遇到了一个有效载荷消息,是json格式的消息,所以传入的消息对象也应该是格式的;提交邮件有两种方式:

  导入请求

  导入json

  url=http://example.com

  数据={

  a: 1,

   b: 2,

  }

  # 1

  requests.post(url,data=json.dumps(data))

  # 2-json参数会自动将字典类型对象转换为json格式。

  requests.post(url,json=data)

  

requests.post()

  您可以使用params参数在requests.get()方法中构建url。

  有时请求的结果可能是乱码。可以通过resp.encoding属性检查网页编码方式。同时,可以在获取resp.text之前给resp.encoding=utf-8 赋值,这样再次获取的resp.text就会使用我们要求的编码方式。

  

其它

  在post请求中,可以使用数据传递参数,或者使用json传递参数。

  那么这两种方式有什么区别呢?

  如果参数是json数据,可以直接传入JSON参数,它会自动编码并将Content-Type设置为application/json。

  有效负载={key1: value1 , key2: value2}

  r=requests . post( https://http bin . org/post ,json=payload)

  打印(r.text)

  如果数据传递的参数是一个字符串,例如,[json.dumps(payload)],则请求对参数进行url编码,Content-Type的值为None,因此当数据传递一个字符串时,必须在头中指定Content-Type。

  有效负载={key1: value1 , key2: value2}

  headers={ Content-Type : application/JSON }

  r=requests . post( https://http bin . org/post ,headers=headers,data=json.dumps(payload))

  打印(r.text)

  如果数据提供了一个字典、一个元组列表或一个值字典列表,则请求对参数进行url编码,Content-Type的值为application/x-www-form-urlencoded。

  #字典

  payload1={key1: value1 , key2: value2}

  r=requests . post( https://http bin . org/post ,data=payload1)

  #元组列表

  payload2=[(key1 , value1 ),( key1 , value2)]

  r=requests . post( https://http bin . org/post ,data=payload2)

  #列表作为值的字典

  payload3={key1: [value1 , value2]}

  r=requests . post( https://http bin . org/post ,data=payload3)

  以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: