python requests包的request()函数中的参数-params和data的区别介绍

 更新时间:2020年05月05日 17:45:01   作者:独孤尚良dugushangliang  
这篇文章主要介绍了python requests包的request()函数中的参数-params和data的区别介绍,具有很好参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

import requests
 url='http://www.baidu.com'
#下面使用requests.request(method, url, **kwargs)
re=requests.request('GET',url)

经验证,可用。

我们试着传入一个字典,首先用params参数。

结果为:

亮点在url和args。

我们还用get方法,把dic这个字典传给data试试看。

亮点还是在args和url。惊喜地发现,dic这个字典没传进去。

这是因为:

params是用来发送查询字符串,而data是用来发送正文的。post方法和get方法的特性是:这两种参数post方法都可以用,get方法只能发查询字符串,不能发送正文。

接下来试试看post方法:

上面这是用data参数传字典的,亮点在form。

再试试用params参数传这个字典:

亮点在url和args。

补充知识:python_request_三个参数

requests.request(method,url,**kwargs)

method:请求方法,对应get/put/post/delete/head/patch/options

url: 模拟获取页面的url连接

**kwrags:控制访问的参数,共13个

kwargs(13个参数):

(一)params

params:字典或者字节序列,作为参数增加到url中

例子:

import requests
kv={“wd”:“你好”}#拼接的内容用字典储存
r=requests.request(“GET”,“http://www.baidu.com/s”,params=kv)
print(r.url)
print(r.text)

运行后拼接的效果:http://www.baidu.com/s?wd=你好

(二)data

data:字典、字节、或文件对象,作为request

例子:

import requests
kv={“key1”:“value1”,“key2”:“value2”}
r=requests.request(“POST”,“http://httpbin.org/post”,data=kv)
print(r.text)

运行结果:

{
“args”: {},
“data”: “”,
“files”: {},
“form”: {
“key1”: “value1”,
“key2”: “value2”
},
“headers”: {
“Accept”: “/”,
“Accept-Encoding”: “gzip, deflate”,
“Connection”: “close”,
“Content-Length”: “23”,
“Content-Type”: “application/x-www-form-urlencoded”,
“Host”: “httpbin.org”,
“User-Agent”: “python-requests/2.18.1”
},
“json”: null,
“origin”: “113.235.118.39”,
“url”: “http://httpbin.org/post”
}

(三)json

json:JSON格式的数据,作为request的内容

(四)header

header:字典,http定制头

例子:

import requests
hd={‘user-agent':“Chrome/10”}#改变浏览器模拟
r=requests.request(“post”,“http://www.baidu.com”,headers=hd

(五)cookies:

cookies:字典或CookieJar,request中的cookie

(六)auth

auth:元组,支持HTTP认证功能

(七)files:

files:字典类型,传输文件

(八)tiemout

timeout:设定时间

(九)proxies

proxies:字典类型,设定访问代理服务器,可以增加登录认证

以上这篇python requests包的request()函数中的参数-params和data的区别介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python利用Faiss库实现ANN近邻搜索的方法详解

    Python利用Faiss库实现ANN近邻搜索的方法详解

    这篇文章主要介绍了Python利用Faiss库实现ANN近邻搜索的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-08-08
  • python库Celery异步发送电子邮件定时生成报告实战示例

    python库Celery异步发送电子邮件定时生成报告实战示例

    这篇文章主要介绍了python库Celery异步发送电子邮件定时生成报告实战示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 在python中logger setlevel没有生效的解决

    在python中logger setlevel没有生效的解决

    今天小编就为大家分享一篇在python中logger setlevel没有生效的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 关于多种方式完美解决Python pip命令下载第三方库的问题

    关于多种方式完美解决Python pip命令下载第三方库的问题

    这篇文章主要介绍了多种方式完美解决python pip命令下载第三方库的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Python实现网络端口转发和重定向的方法

    Python实现网络端口转发和重定向的方法

    这篇文章主要介绍了Python实现网络端口转发和重定向的方法,结合实例形式分析了Python基于threading和socket模块实现端口转发与重定向的具体操作技巧,需要的朋友可以参考下
    2016-09-09
  • python 视频逐帧保存为图片的完整实例

    python 视频逐帧保存为图片的完整实例

    今天小编就为大家分享一篇python 视频逐帧保存为图片的完整实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python安装Imaging报错:The _imaging C module is not installed问题解决方法

    Python安装Imaging报错:The _imaging C module is not installed问题解决

    这篇文章主要介绍了Python安装Imaging报错:The _imaging C module is not installed问题解决方法,原来是PIL库的库文件没有加到系统中导致老是提示这个错误,需要的朋友可以参考下
    2014-08-08
  • python中lambda()的用法

    python中lambda()的用法

    这篇文章主要介绍了python中lambda()的用法,在python中有一个匿名函数lambda,匿名函数顾名思义就是指:是指一类无需定义标识符(函数名)的函数或子程序,需要的朋友可以参考下
    2017-11-11
  • 详解python变量与数据类型

    详解python变量与数据类型

    这篇文章主要介绍了python变量与数据类型的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-08-08
  • python3使用matplotlib绘制散点图

    python3使用matplotlib绘制散点图

    这篇文章主要为大家详细介绍了python3使用matplotlib绘制散点图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03

最新评论