• python接口自动化1-发送get请求


    前言

    requests模块,也就是老污龟,为啥叫它老污龟呢,因为这个官网上的logo就是这只污龟,接下来就是学习它了。

    一、环境安装

    1.用pip安装requests模块

    >>pip install requests

    二、get请求

    1.导入requests后,用get方法就能直接访问url地址,如:http://www.cnblogs.com/wanghaihong200/,看起来是不是很酷

    2.这里的r也就是response,请求后的返回值,可以调用response里的status_code方法查看状态码

    3.状态码200只能说明这个接口访问的服务器地址是对的,并不能说明功能OK,一般要查看响应的内容,r.text是返回文本信息(压缩格式需要用r.content)

     content方法输出的都是unicode编码

    如果需要制定编码格式的话,可以使用  r.encoding = "utf-8"

    三、params

    1.再发一个带参数的get请求,如在博客园搜索:wanghaihong200 ,url地址为:http://zzk.cnblogs.com/s/blogpost?Keywords=wanghaihong200

    2.请求参数:Keywords=yoyoketang,可以以字典的形式传参:{"Keywords": "wanghaihong200"}

    3.多个参数格式:{"key1": "value1", "key2": "value2", "key3": "value3"}

    四、content

    1.百度首页如果用r.text会发现获取到的内容有乱码,因为百度首页响应内容是gzip压缩的(非text文本)

    2.如果是在fiddler工具乱码,是可以点击后解码的,在代码里面可以用r.content这个方法,content会自动解码 gzip 和deflate压缩

    五、response

    1.response的返回内容还有其它更多信息

    -- r.status_code     #响应状态码
    -- r.content           #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩
    -- r.headers          #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
    -- r.json()             #Requests中内置的JSON解码器
    -- r.url                  # 获取url
    -- r.encoding         # 编码格式
    -- r.cookies           # 获取cookie
    -- r.raw                #返回原始响应体
    -- r.text               #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
    -- r.raise_for_status() #失败请求(非200响应)抛出异常

    后记:

    对于想用python进行接口测试的小伙伴,个人建议要通读一下requests的官方文档:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

    后续基础知识写完后,会提供一些接口测试框架的思路,以及jenkins跑定时任务的简单运用。

  • 相关阅读:
    极光推送消息——Alias别称方式(Andirod)
    引用极光jar包之后出现控制台日志打印不出来的问题。解决!
    极光推送消息——RegistrationID方式
    Educational Codeforces Round 79 D
    解决报错:ERROR 1005 (HY000): Can't create table 'market.orders' (errno: 150)
    ansible笔记(13):变量(二)
    ansible笔记(12):变量(一)
    zabbix4.2配置邮件+脚本报警:以QQ邮箱为例
    解决mailx发邮件报错:esmtp-server: 504 5.7.4 Unrecognized authentication type [HK2PR02CA0167.apcprd02.prod.outlook.com] "/root/dead.letter" 11/302 . . . message not sent.
    ansible笔记(11):tags的用法
  • 原文地址:https://www.cnblogs.com/wanghaihong200/p/8480163.html
Copyright © 2020-2023  润新知