url = ‘接口地址‘

r = requests.get(url) #发送get请求

print(r.status_code) #打印状态码,若有重定向,返回的是重定向之后的代码

print(r.headers) #打印返回的报头(头部)

print(r.text) #查看返回结果的文本形式

r.status_code #响应状态码

r.content #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩

r.headers #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None

r.json() #Requests中内置的JSON解码器 ,json转成python的字典了

r.url # 如果没有重定向,就是请求的url,如果有重定向,就是重定向后的url

r.encoding # 查看返回的编码格式

r.cookies # 获取cookie

r.raw #返回原始响应体

r.history #追踪重定向过程(list类型)

r.text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码

r.content.decode(‘utf-8‘) # 返回内容有乱码时,用此方法打印

r.raise_for_status() #失败请求(非200响应)抛出异常

loginCookies = r.cookies: # 获取登录的cookies

cookies=loginCookies: # 把获取到的cookies传入请求

s = requests.session() # 可以理解为代码的微型浏览器,这样做的好处就是可以保存cookies,不用每次都去获取(只适用于网站是cookies这种,网站是token的没用)

print(r.encoding) # 查看返回的编码格式

r.json # 获取返回的json

verify=False # 访问https请求时加上后不验证证书

# open打开excel文件,保存为后缀为xls的文件

fp = open(‘yoyo.xls‘, ‘wb‘) # w:写入, b:二进制的形式

去掉Warning警告:

import urllib3

urllib3.disable_warnings()

一、HTTP:

get请求:

1、get请求(无参数):

2、get请求(带参数):

接口地址:http://japi.juhe.cn/qqevaluate/qq

返回格式:json

请求方式:get post

请求示例:http://japi.juhe.cn/qqevaluate/qq?key=您申请的appKey&qq=295424589

接口备注:根据传入的参数 qq 号码和您申请的 appKey 测试 qq 的吉凶

请求参数说明(入参) :

名称 必填 类型 说明

key 是 string 您申请的 appKey:8dbee1fcd8627fb6699bce7b986adc45

qq 是 string 需要测试的 QQ 号码:907728701

2.1、以url的方式传参:

url = ‘http://japi.juhe.cn/qqevaluate/qq?key= 8dbee1fcd8627fb6699bce7b986adc45&qq=907728701‘

2.2、以字典的形式传参:

url = ‘http://japi.juhe.cn/qqevaluate/qq‘

par = {

‘key‘:‘ 8dbee1fcd8627fb6699bce7b986adc45‘,

‘qq‘:‘907728701‘

}

r = requests.get(url,params=par) #发送get请求

Post请求:

1、 post请求(无参数):

url = ‘http://japi.juhe.cn/qqevaluate/qq‘

r = requests.post(url) #发送post请求

print(r.status_code) #打印状态码

print(r.headers) #打印返回的报头(头部)

print(r.text) #查看返回结果的文本形式(body部分)

2、 post请求(有参数):

2.1、以url的方式传参:

url = ‘http://japi.juhe.cn/qqevaluate/qq?key= 8dbee1fcd8627fb6699bce7b986adc45&qq=907728701‘

r = requests.post(url) #发送post请求

2.2、以字典的形式传参:

url = ‘http://japi.juhe.cn/qqevaluate/qq‘

par = {

‘key‘:‘8dbee1fcd8627fb6699bce7b986adc45‘,

‘qq‘:‘907728701‘

}

r = requests.post(url,params=par) #发送get请求

二、HTTPS:

1、get:

url = ‘https://www.juhe.cn/docs/api/id/39‘

r = requests.get(url) #发送get请求

print(r.status_code) #打印状态码

print(r.headers) #打印返回的报头(头部)

print(r.text) #查看返回结果的文本形式(body部分)

SSLError:证书问题:

方法1.检查faddler是否关闭,关闭后,访问成功:

方法2.请求参数后加上:verify=False

verify默认为True,此时会验证证书,改为False将不会验证证书

有Body部分:

Content-Type: application/x-www-form-urlencoded; charset=UTF-8:传data

Content-Type: application/json:传json

把返回的内容解析为json格式:

前提:一定内容为json格式

若乱码::

以content字节流输出,解码成utf-8:

print(r.encoding) # 查看返回的编码格式:

去掉Warning警告:

import urllib3

urllib3.disable_warnings()

错误处理:

403:拒绝或者禁止访问:须伪装头部(头部详情根据接口文档)

1、服务器识别出为代码访问:

1.1.代码访问的头部:User-Agent为python

1.2.浏览器访问的头部:User-Agent为浏览器

1.3.在头部加上User-Agent:

2、伪装头部后仍然403:服务器校验Cookic (Cookic有时效性)

2.1.代码访问时没有加Cookic

2.2.浏览器访问时有Cookic

2.3.在头部加上Cookic访问成功

原文:https://www.cnblogs.com/zhongyehai/p/9159282.html

python接口自动化测试代码_python接口自动化测试二:python代码实现接口测试相关推荐

  1. python自动化测试断言_python接口自动化(二十五)--unittest断言——下(详解)...

    本文转载自: https://www.cnblogs.com/du-hong/p/10766314.html 简介 本篇还是回归到我们最初始的话题,想必大家都忘记了,没关系看这里:传送门  没错最初的 ...

  2. python mock接口怎么用_python接口自动化测试 - mock模块基本使用介绍

    mock简介 py3已将mock集成到unittest库中 为的就是更好的进行单元测试 简单理解,模拟接口返回参数 通俗易懂,直接修改接口返回参数的值 mock作用 解决依赖问题,达到解耦作用 当我们 ...

  3. python接口自动化 一个变量 其他接口要用_python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)...

    简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试. 什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统 ...

  4. python调用第三方接口获取数据_python 接口实现 供第三方调用的例子

    python 接口实现 供第三方调用的例子 实验环境 1.环境问题 python 2.7 以上自带的pyunit bottle 作为一个python的简易服务器 在python安装目录 打开命令窗口( ...

  5. python ui自动化测试仪器_python UI自动化测试

    为了减小维护成本: 1.UI自动化测试需要有较为稳定的环境 2.代码设计合理,那么我们就需要面向对象的设计一个框架,将重复的代码模块化 一.首先总结一下 UI自动化大概要哪些模块 1.config(配 ...

  6. python绕过验证码登录_python接口自动化(十三)--cookie绕过验证码登录(详解)...

    简介 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加cookie的方式绕过验证码.(注意:并不是所有的 ...

  7. python网站设计中接口的作用_python接口自动化(三)--如何设计接口测试用例(详解)...

    简介 上篇我们已经介绍了什么是接口测试和接口测试的意义.在开始接口测试之前,我们来想一下,如何进行接口测试的准备工作.或者说,接口测试的流程是什么?有些人就很好奇,接口测试要流程干嘛?不就是拿着接口文 ...

  8. python生成二维码代码_python 一行代码生成 二维码

    效果图如上:动态二维码,彩色二维码,黑白二维码: 看到别人做的炫酷二维码,瞬间心动,想动手做个 自己的炫酷二维码. github上有大神 做的框架,直接拿来用,安装工具 myqr: pip insta ...

  9. python怎么清除代码_python的shell中的代码怎么清理?

    python shell是Python的命令行. 交互模式下使用Python很方便,如果想清除显示过的信息,有两种方法可以采用. 方法一.针对Python命令行(python shell) 直接使用下 ...

  10. python爬取小说代码_Python scrapy爬取小说代码案例详解

    scrapy是目前python使用的最广泛的爬虫框架 架构图如下 解释: Scrapy Engine(引擎): 负责Spider.ItemPipeline.Downloader.Scheduler中间 ...

最新文章

  1. 全链路压测体系建设方案的思考与实践
  2. 基于比特币现金的Token逐梦而来
  3. linux内核网络协议栈--linux网络设备理解(十三)
  4. WDCP管理面板安装启动EXIF、bcmath完整步骤
  5. 关于AD9371调试笔记
  6. 如何去除WINRAR的广告
  7. python分析pcap文件_Python-对Pcap文件进行处理,获
  8. 海思3559a资料目录整理
  9. 腾讯校招都会问些什么?| 五面腾讯(Java岗)经历分享
  10. 2020 博客之星评选【票数排行榜】每日更新
  11. c语言 pause,C语言中的pause()函数和alarm()函数以及sleep()函数
  12. 笔记本电脑坏了,昨天拿到鼎好去修。
  13. 基础js实现下雨效果(超简单)
  14. CMD命令窗口光标消失解决方案
  15. week_02_面向对象基础
  16. 完美解决丨1. **`SyntaxError: invalid syntax`**
  17. 一个业务型算法工程师的技能清单
  18. 有扰动的闭环传递函数 matlab,已知闭环传递函数
  19. pgSql数据库报错:permission denied for relation 的错误
  20. 什么是Base64算法

热门文章

  1. Springboot 读取模板excel信息内容并发送邮件, 并不是你想想中的那么简单
  2. 杨幂大爱,宋茜、肯豆频繁带着二手包出街,但我觉得太帅了!
  3. BI技巧丨增长率问题
  4. 百度网盘妥协了 简单设置即可提速好几倍的p2p上传技术 无需插件破解
  5. Linux服务器常见运维性能测试(1)综合跑分unixbench、superbench
  6. 强制下线?IE浏览器自动跳转Edge【视频演示】
  7. 项目14—利用LCD1602实现计算器
  8. 1681c java_诺基亚1681C 如何下载较大的JAVA软件
  9. 机器学习入门12--聚类1
  10. h3c交换机配置ssh密码验证登录方式