zoukankan      html  css  js  c++  java
  • 接口自动化框架搭建(二)--使用requests类编辑接口请求

    打开pycharm,新建一个python文件

    一、使用requests类发送一个post请求,实现如下图

    首先导入requests包  -- import requests

    其次定义url路径,下面的testurl只是一个变量名,可以根据实际情况定义

    定义一个请求信息头,请求信息头需要采用python键值对输入,{“key1”:"value1","key2":"value2"}key1对应value1,中间用:分割,2个键值对中间用,分隔,外面用{}大括号框起来

    定义一个请求body信息,请求body信息也需要采用python键值对输入

    requests.post(url=请求路径,headers=请求信息头,data=请求body信息)这个命令是采用post请求方式访问指定路径,信息头和body信息的请求,并且会返回响应信息

    把返回的响应信息赋值给res变量

    print res.cookies 打印返回的响应信息的cookies内容

    res.headers 响应信息的信息头内容

    res.status_code 响应信息的状态码(200、404、500等等)

    res.text 响应信息的body信息内容,一般用这个

    res.content 响应信息的body信息内容(二进制),不常用

    判断响应数据是否正确,采用re类的search方法进行判断,re.search(data,text),如果text里存在data,则返回True

    实例:导入re类,如果返回的响应信息(res.text)包含了msg:1,则返回True,不包含返回False

    二、使用requests类发送一个get请求,实现如下图

    可以和前面对比下,基本都是一样的,有2点不一样

    (1)、从requests.post换成了requests.get

    (2)、注意:请求body信息参数名,post里面是data=表示,而get里面是用params=表示

    requests库更多应用介绍

    # 发送get请求获得一个response对象(我们可以从响应对象获得我们想要的一切数据) res = requests.get("https://api.github.com/events")
    # 发送post请求 res = requests.post("http://httpbin.org/post",data={"key":"value", ...})
    # 发送put请求 res = requests.put("http://httpbin.org/put",data={"key":"value", ...})
    # 发送delete请求  res = requests.delete("http://httpbin.org/delete")
    #发送head请求 res = requests.head("http://httpbin.org/get")
    #发送options请求 res = requests.options("http://httpbin.org/get") 
    构造请求参数发送请求
    get请求参数构造
     # 请求参数 payload = {'key1': 'value1', 'key2': 'value2'} res = requests.get("http://httpbin.org/get",params=payload)# 注意是params参数 # requests 会自动帮我们拼接请求地址 # url= http://httpbin.org/get?key1=value1&key2=value2 //针对get请求使用的即使params参数,post请求使用的是data参数

    post form表单请求参数构造
     # form表单要提交的数据 payload = {'key1': 'value1', 'key2': 'value2'} res = requests.post("http://httpbin.org/post",data=payload)# 注意是data参数

    post json对象请求提交参数
    # post 提交json对象数据 payload = {'key1': 'value1', 'key2': 'value2'} res = requests.post("http://httpbin.org/post",data=json.dumps(payload))# 第一种方式 res = requests.post("http://httpbin.org/post",json=payload)# 第二种方式
    构造请求头headers
    # 构造请求头,请求头也是字典格式 headers = {'user-agent': 'my-app/0.0.1'} url = "https://api.github.com/some/endpoint" res = requests.get(url,headers=headers)
    构造cookies请求
    # 构造cookies cookies = dict(sessionId='Jsession3123131') url = "http://httpbin.org/cookies" requests.get(url,cookies=cookies) //比如有些应用可能需要携带某些cookie才能验证授权,那么此时就很有用了
    构造请求超时设置
    # 设置请求超时时间 requests.get('http://github.com', timeout=0.01) # 0.01秒没响应就请求超时失败

    Response响应内容
    content = res.content(原始二进制数据)
    # 大部分情况使用这个方法 text = res.text(文本数据信息,requests自动帮我们以指定编码解析出来的内容)
    # 响应json数据信息,通常我们使用json模块来处理 json_data = res.json()
    # 响应状态码 status_code=res.status_code
    # 响应头 headers = res.headers
    # 响应cookies信息 cookies = res.cookies
  • 相关阅读:
    dtoi4641 小店购物
    arcgis开发团队(Tel:13261043797 QQ:1216807928)中科燕园ArcGIS开发团队
    gis开发团队承接gis项目手机13261043797,qq:1216807928
    arcgis开发团队(Tel:13261043797 QQ:1216807928 )中科燕园arcgis开发团队
    gis项目开发团队承接GIS兼职,祝大家2017年工作顺利 事事如意Tel:13261043797 QQ:1216807928
    中科燕园GIS外包团队 手机:13261043797 QQ:1216807928
    中科燕园GIS外包团队(手机:13261043797 QQ:1216807928)地理平台:“互联网+”政企转型的新入口
    中科燕园GIS开发团队 手机13261043797 QQ:1216807928
    中科燕园GIS外包团队(手机:13261043797 QQ:1216807928)地理智慧为旅游带来全新价值
    中科燕园GIS外包团队(手机:13261043797 QQ:1216807928)---ArcGIS 10.3.1正式发布
  • 原文地址:https://www.cnblogs.com/heng-xin/p/7911010.html
Copyright © 2011-2022 走看看