python requests包的request()函数中的参数-params和data的区别介绍
作者:独孤尚良dugushangliang 发布时间:2021-05-04 18:21:13
如下所示:
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:字典类型,设定访问代理服务器,可以增加登录认证
来源:https://blog.csdn.net/dugushangliang/article/details/90473735
猜你喜欢
- 子查询可以完成 SQL 查询中比较复杂的情况,本章主要介绍一些子查询的简单用法。一、简单子查询1、简单子查询子查询是 SELECT 语句内的
- 一、读写文件在 Python 中,我们可以使用 open() 函数打开文件,with 语句可以自动关闭文件。读取文件内容:with open
- 工作中遇到的问题,自定义了一个forms.form表单,某项需要作出下拉菜单,下拉菜单中的选项需要从数据库(objectForm model
- 秉承着一切皆对象的理念,我们再次回头来看函数(function)。函数也是一个对象,具有属性(可以使用dir()查询)。作为对象,它还可以赋
- 当用cmd命令行运行python文件时,我们知道可以通过>python pyfile.py来运行python文件,此时的输出会直接打印
- 本文实例讲述了python中查看变量内存地址的方法。分享给大家供大家参考。具体实现方法如下:这里可以使用id>>> pri
- 程序中经常需要使用excel文件,批量读取文件中的数据python读取excel文件可以使用xlrd模块pip install xlrd安装
- MySQL插件式存储引擎是MySQL数据库服务器中的组件,负责为数据库执行实际的数据I/O操作,并能允许和强制执行面向特殊应用需求的特定特性
- 本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下:这里主要测试在Python中
- 我们要开始学习如何做等级划分啦。要实现这一功能,还得学习 5 个新的知识点,分别是os.path.exists()、os.mkdir()、算
- 起因:学校运河杯报了个项目,制作一个天气预测的装置。我用arduino跑了BME280模块,用蓝牙模块实现两块arduino主从机透传。但是
- 一、创建mysql数据库1.创建数据库语法--创建名称为“testdb”数据库,并设定编码集为utf8CREATE DATABASE IF
- 本文实例为大家分享了树回归的具体代码,供大家参考,具体内容如下#-*- coding:utf-8 -*- #!/usr/bin/python
- 目录1.垂直(纵向)切分1.1 垂直分库 1.2 垂直分表 2. 水平(横向)切分2.1 根据数值范围2.2 根据数值取
- 在网页上,有一些内容是通过执行Ajax请求动态加载数据渲染出来的。对于需要获取这些内容的需求,我们可以使用Python来实现数据的抓取。Aj
- 关于python的ssh库操作需要引入一个远程控制的模块——paramiko,可用于对远程服务器进行
- 本文介绍了浅谈vue-lazyload实现的详细过程,分享给大家,也给自己留个笔记首先 ,在命令行输入npm install vue-laz
- Python 高级专用类方法的实例详解除了 __getitem__ 和 __setitem__ 之外 Python 还有更多的专用函数。某些
- 教育信息化时代,考试成绩也要求上网公布。一次我将考试成绩制作成一个HTML文件,如图1所示,领导审查的意见是“将成绩按名次排列”,可是所有的
- 两个MySql服务的应用 一、如何在同一系统中安装两个MySql服务。 安装一个5.0版本的,再安装一个5.1版本的就可以了。我用的是mys