(一)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. 记一次uwsgi django nginx 调优

    [uwsgi] project = fortune_cat uid = ubuntu gid = ubuntu path = fortune_cat base = /home/%(uid) chdir ...

  2. 最新vue项目添加水印

    在utils文件夹中创建 wartermark.ts 文件(位置看自己的组件放那,这都行),内容如下: 1 "use strict"; 2 3 const setWatermark ...

  3. Code Forces 1030E

    题目大意: 给你n个数,你可以交换一个数的任意二进制位,问你可以选出多少区间经过操作后异或和是0. 思路分析: 根据题目,很容易知道,对于每个数,我们可以无视它的1在那些位置,只要关注它有几个1即可, ...

  4. javascript里面的this指向问题

    1:一般情况下this最终指向调用它的那个对象. 2:全局作用域或者普通函数中的this都会指向window. 例1:console.log(this); //  在控制台输出的是BOM顶级对象 wi ...

  5. 多测师讲解自动化_rf框架搭建_高级讲师肖sir

    robot framework:自动化测试框架(简称RF框架) Python3.7 RIDE(可视化界面).  Wxpython  pip(在线下载) . setuptools(在线安装) . 第三方 ...

  6. IDEA项目区模块文件变为红色解决办法

    解决方法 先检查文件格式是否为.java格式..class格式就不行. 选择file–>setting–>version Controller,然后把vcs选项选择为none

  7. MeteoInfoLab脚本示例:Trajectory

    示例读取HYSPLIT模式输出的气团轨迹数据文件,生成轨迹图层,并显示轨迹各节点的气压图.脚本程序: f = addfile_hytraj('D:/MyProgram/Distribution/jav ...

  8. 【迷宫问题】CodeForces 1292A A NEKO's Maze Game

    题目大意 vjudge链接 共两行,从(1,n)到(2,n). 每过一个时刻会有一个位置的状态变化,从能到达这个位置变成不能到达,或从不能到达变成能到达,问在每个时刻中是否能从起点到终点. 数据范围 ...

  9. swoft生成控制器

    [root@localhost swoft]# swoftcli gen:controller -h [ERROR] Command 'controller' is not exist in grou ...

  10. Java 8 中的抽象类和接口到底有啥区别?

    上一篇栈长发了这篇<Java 8 有多牛逼?打破一切你对接口的认知!>,帮助许多人解开了疑惑,还有读者留言说两者还有啥区别,故引发了此篇: 在我们面试时也会经常遇到面试官问抽象类和接口的区 ...