(一)get()方法

查看源码,如下:

 1 def get(self, url, params, **kwargs):
2 r"""Sends a GET request.
3
4 :param url: URL for the new :class:`Request` object.
5 :param params: (optional) Dictionary, list of tuples or bytes to send
6 in the body of the :class:`Request`.
7 :param \*\*kwargs: Optional arguments that ``request`` takes.
8 :return: :class:`Response <Response>` object
9 :rtype: requests.Response
10 """
11
12 kwargs.setdefault('allow_redirects', True)
13 return self.request('GET', url, **kwargs)

params参数

1、可以是字典,也可以是嵌套元组的列表;通过params传递的参数会附加到url。

2、如果使用data或json来发送接口参数,请求不会成功。(参数不会附加到url)

注意:基于get请求的特点,请求参数可以直接跟在URL之后。

(二)post()方法

查看源码,如下:

 1     def post(self, url, data=None, json=None, **kwargs):
2 r"""Sends a POST request. Returns :class:`Response` object.
3
4 :param url: URL for the new :class:`Request` object.
5 :param data: (optional) Dictionary, list of tuples, bytes, or file-like
6 object to send in the body of the :class:`Request`.
7 :param json: (optional) json to send in the body of the :class:`Request`.
8 :param \*\*kwargs: Optional arguments that ``request`` takes.
9 :rtype: requests.Response
10 """
11
12 return self.request('POST', url, data=data, json=json, **kwargs)

何时使用data参数或json参数,需要根据实际的接口所支持的数据类型进行选择。

data参数

1、接收一个字典类型的数据,存放到请求体中,然后发送给服务器(参数需是字典类型)。

2、向服务器提交form表单时就可以使用data参数。

  大多数post请求的接口默认支持参数类型Content-Type为application/x-www-form-urlencoded, 它告诉我们请求的接口参数需要传递一个form表单,那么我们往往是通过构造一个字典来传递form表单的,所以当我们向服务器提交form表单时就可以使用data参数,它会接收一个字典类型的数据,存放到请求体中,然后发送给服务器(参数需是字典类型)。

json参数

1、访问的接口支持content_type为application/json格式的数据类型,就可以通过json来传递接口参数

2、参数可以是字典也可以是json类型

requests库中的get()和post()方法的更多相关文章

  1. requests库的使用、安装及方法的简单介绍

    requests库的使用.安装及方法的简单介绍 1.requests库的概述 requests库是一个简洁且简单的处理HTTP请求的第三方库,是公认的最好获得第三方信息的库. requests库更多信 ...

  2. stm32存储器映像和标准库中定义外设地址的方法

    结合存储器映像理解stm32标准库中定义外设地址的方法. stm32f103zet6是32位的.它所能访问的地址空间范围为2^32=4GB,把4GB分为8个block,分别为block0-block- ...

  3. Linux gcc(ar命令)打包库到另一个库中的另外一种方法

    最近的项目中需要在Libcurl写一个wrapper,最好的办法是把我的wrapper和libcurl包在一起,做一个新的静态库 但是很遗憾,直接用以下命令产生的libmywrapper.a 是不能用 ...

  4. 参考C++STL标准库中对了的使用方法

    http://www.cppblog.com/zhenglinbo/archive/2012/09/18/191170.html 参考:http://www.cppblog.com/zhenglinb ...

  5. STL(标准模板库) 中栈(stack)的使用方法

    STL 中栈的使用方法(stack) 基本操作: stack.push(x)  将x加入栈stack中,即入栈操作 stack.pop()  出栈操作(删除栈顶),只是出栈,没有返回值 stack.t ...

  6. 网络爬虫--requests库中两个重要的对象

    当我们使用resquests.get()时,返回的时response的对象,他包含服务器返回的所有信息,也包含请求的request的信息. 首先: response对象的属性有以下几个, r.stat ...

  7. maven依赖非maven库中jar的两种方法

    1.利用 maven-compiler-plugin <plugin> <groupId>org.apache.maven.plugins</groupId> &l ...

  8. boost库中sleep方法详解

    博客转载自:https://blog.csdn.net/huang_xw/article/details/8453506 boost库中sleep有两个方法: 1. 这个方法只能在线程中用, 在主线程 ...

  9. requests库写接口测试框架初学习

    学习网址:    https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dscpm/ff75b907-415d-4220-89 ...

随机推荐

  1. 内存操作【memset】【memcpy】

    void *memset(void *s, int c, unsigned long n); 将指针变量 s 所指向的前 n 字节的内存单元用一个"整数" c 替换,注意 c 是 ...

  2. Java知识系统回顾整理01基础03变量04类型转换

    一.不同类型之间的数据可以互相转换,但是要满足一定的规则 二.数据类型转换规则 转换规则如图所示  精度高的数据类型就像容量大的杯子,可以放更大的数据 精度低的数据类型就像容量小的杯子,只能放更小的数 ...

  3. 【漏洞复现】S2-052 (CVE-2017-9805)

    一.漏洞描述 Struts2 的REST插件,如果带有XStream组件,那么在进行反序列化XML请求时,存在未对数据内容进行有效验证的安全隐患,可能发生远程命令执行. 二.受影响版本 Struts2 ...

  4. 用React 中的useState改变值不重新渲染的问题

    不渲染 const [lists,setLists] =useState([]); ..... const arr = lists; arr.splice(index,1) //根据删除index下标 ...

  5. fastjson配置序列化过滤转换

    @Configuration@EnableWebMvcpublic class WebConfig implements WebMvcConfigurer { @Override public voi ...

  6. redis协议规范

    好多年前看过redis的代码,那个时候还是2.6的版本,集群和哨兵还没加入正式代码,这几年redis发展的好快.简略翻译一篇文章redis的https://redis.io/topics/protoc ...

  7. MeteoInfoLab脚本示例:读取文本文件绘制散度图

    MeteoInfoLab中读取文本文件数据的函数是asciiread,获取文本文件行.列数的函数是numasciirow和numasciicol,和NCL中函数名一致,但都是小写字母.本例中的示例数据 ...

  8. day06 Pyhton学习

    一.昨日内容回顾 字典: 由{}表示,内部存储key:value 要求: key不能重复 key必须可哈希.不可变 value没有限制 没有索引和切片 增删改查 新增: dic.[新key]=valu ...

  9. day16 Pyhton学习

    1.range(起始位置) range(终止位置) range(起始,终止位置) range(起始,终止,步长) 2.next(迭代器) 是内置函数 __next__是迭代器的方法 g.__next_ ...

  10. 【Azure云服务 Cloud Service】如何在部署云服务Cloud Service时候通过启动任务Start Task来配置IIS (如开启ARR)

    问题情形 通过VS部署Cloud Service时,需要在开始任务时候安装或配置其他任务,如安装及配置ARR. 执行步骤 1) 下载 requestRouter_amd64.msi 和 webfarm ...