requests是模拟HTTP、https请求接口。

一、HTTP协议介绍

1.1HTTP协议特点

1.2HTTP协议组成

请求方法

主要的请求方法有:GET、POST、DELETE 、PUT 、HEAD 等方法

最最常用的方法就是:GET方法、POST方法

get与post方法的特点:

GET方法:

  • GET 方法提交数据不安全,数据置于请求行,浏览器地址栏可见;

  • GET 方法URL长度每个浏览器限制数量不同,最后在2000字符以内

  • GET方法速度快

  • 默认的请求方法,不需要提交大量数据、无敏感、保密数据时使用

  • 可能会被缓存

  • 请求可能会被保留在浏览器历史记录中

POST方法:

  • POST 方法提交数据安全,数据置于消息主体内,浏览器地址栏不可见

  • POST 方法提交的数据大小没有限制

  • POST 方法速度慢

  • 需要提交大量数据、有敏感、保密数据时使用

  • 不会被缓存

  • 请求不会被保留在浏览器历史记录中

1.3 HTTP响应

响应报文格式:

第一部分:叫状态行。独占一行。由:协议/协议版本、状态码、状态描述符组成

第二部分:从第二行至第N行,叫响应头。由键值对组成。由N对

第三部分:叫空行,独占一行。由回车换行符组成

第四部分:叫响应体。响应回来的数据格式(多种)

HTTP响应状态码(常见)

  • 200  客户端请求成功

  • 301  永久性重定向

  • 302  临时性重定向

  • 403 服务器收到请求,但拒绝提供服务。

  • 404 请求的资源不存在

  • 500  服务器发生不可预期的错误。

请求/响应头中,重要的参数

(一)、Content-Type参数

Content-Type,叫:是Internet Media Type,互联网媒体类型。存在于请求中或响应中:

  • 如果出现在请求中,则表示:告诉服务端客户端实际发送的数据类型。

  • 如果出现在响应中,则表示:告诉客户端服务端实际发送的数据类型。

在【请求】中,常见的数据类型有:

  • application/x-www-form-urlencoded----->  以“键-值”对的方式组织的数据

  • application/json -----> JSON 字符串格式提交数据

  • multipart/form-data----->  一般需要上传文件的表单则用该类型

(二)、Cookie参数

Cookie参数,也是一个很重要的参数,存在于请求或响应中。

源头在服务端,服务端向客户端设置Cookie后,浏览器会自动把Cookie添加到每次请求的请求头中。一般用在用户登录或记住用户名等地方。

2.请求方法对应的参数

口诀1:params参数,如果传入的是字典,自动编码为表单。---一般get请求需要

口诀2:data参数,如果传入的是字典,自动编码为表单。

口诀3:data参数,如果传入的是字符串,按原格式直接发布出去。

口诀4:json参数,如果传入的是字典,自动编码为json字符串。

口诀5:json参数,如果传入的是字符串,按原格式基础上添加双引号发布出去。

一般规律总结:

get请求:用参数data

post请求:表单用data,json格式用json。

 

【python接口自动化】01-requests请求的更多相关文章

  1. python接口自动化(delete请求)

    python接口自动化(delete请求) 一.delete请求的目的:删除资源 二.应用 导包:import requests 调用delete方法:requests.delete(url) 获取响 ...

  2. python接口自动化(put请求)

    python接口自动化(put请求) 一.put请求的作用:更新资源 二.应用 导包:import requests 调用requests.put()方法 参数有URL.data.headers,方法 ...

  3. python接口自动化(post请求)

    python接口自动化(post请求) 一.post请求的作用:新增资源 二.data格式的参数请求(data是字典对象) #1.导包 import requests #2.调用post方法 #请求的 ...

  4. python接口自动化(get请求)

    python接口自动化(get请求) get请求的目的:查询资源 一.导包 二.请求的URL 三.请求的参数 四.获取请求的URL 五.获取响应的状态码 六.获取响应的本文信息 #导包 import ...

  5. python接口自动化发送get请求 详解(一)

    前言:接口自动化实现自动化脚本比较稳定,主要用到requests模块,后面我会把这个模块单独拉出来写一下. 一.环境安装 1.用pip安装requests模块 >>pip install ...

  6. Python接口自动化【requests处理Token请求】

    首先说一下使用python模拟登录或注册时,对于带token的页面怎么登录注册模拟的思路: 1.对于带token的页面,需要先从最开始的页面获取合法token 2.然后使用获取到的合法token进行后 ...

  7. python接口自动化测试之requests库详解

    前言 说到python发送HTTP请求进行接口自动化测试,脑子里第一个闪过的可能就是requests库了,当然python有很多模块可以发送HTTP请求,包括原生的模块http.client,urll ...

  8. Python接口自动化基础---get请求

    1.没有参数的get请求 import requests r=requests.get('http://docs.python-requests.org/zh_CN/latest/user/quick ...

  9. Python接口自动化基础---post请求

    常见的post传递参数的类型有以下两种: 第一种:application/x-www-form-urlencoded,浏览器原生的form表单,格式如下:input1=xxx&input2=o ...

随机推荐

  1. Vim配合Shell自动上传ftp

    shell代码: #!/bin/bash #网站配置 a1=('本地目录;主机;yonghuming;mima;远程目录' '本地目录;主机;user;pwd;远程目录') #选取的网站配置 web= ...

  2. 手把手教你学Numpy,这些api不容错过

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Numpy专题的第5篇文章,我们来继续学习Numpy当中一些常用的数学和统计函数. 基本统计方法 在日常的工作当中,我们经常需要通过一 ...

  3. StringBuilder(拼接字符串省内存)

    观察如下代码: String s = ""; for (int i = 0; i < 1000; i++) { s = s + "," + i; } 虽然 ...

  4. 解决错误【selenium.common.exceptions.SessionNotCreatedException】

    以前能用,突然不能用了,是浏览器版本可能升级了,与原来的weddriver驱动版本不符合 解决办法:1.更新浏览器驱动, 2.降低浏览器版本

  5. Android学习笔记物理按键事件处理

    常见的物理按键: Android为每个物理按键都提供了如下几个回调方法: 代码示例: package com.example.demo3; import androidx.appcompat.app. ...

  6. Java 多线程基础(六)线程等待与唤醒

    Java 多线程基础(六)线程等待与唤醒 遇到这样一个场景,当某线程里面的逻辑需要等待异步处理结果返回后才能继续执行.或者说想要把一个异步的操作封装成一个同步的过程.这里就用到了线程等待唤醒机制. 一 ...

  7. cookie与session区别?

    参考 cookie与session的区别是什么 Java中Cookie的使用(Cookie 和Session的区别) 什么是会话? 用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭 ...

  8. 谷歌Chrome成最受欢迎的浏览器 它为啥好用?

    毫无疑问,在搜索引擎领域,谷歌是绝对的主导者.但是,一般人却很容易低估我们受到的“控制”.比如,它的浏览器Chrome. 在不到九年的时间,谷歌Chrome浏览器已经成为全球使用最多的网页浏览器.目前 ...

  9. 利用bat文件打开浏览器指定网页,提示 windows找不到chrome.exe。请确定文件名是否正确,再试一次 的解决经历

      1.在网上找到一些bat命令,原来电脑可以正常使用,效果就是执行后打开谷歌浏览器并全屏展示某网页,但是在昨天换个一个电脑后发现不能用了,提示以下截图的错误 2.找了半天发现问题所在: 把chrom ...

  10. @PathVariable @RequestParam@RequestBody

    @PathVariable 当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariabl ...