前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TestDog-接口测试get实战

TestDog-接口测试get实战

作者头像
wencheng
修改2023-09-23 13:59:22
4850
修改2023-09-23 13:59:22
举报
文章被收录于专栏:python 自动化测试

一、requests模块介绍

Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装,使用Requests可以轻而易举的完成浏览器可有的任何操作。

1、安装requests模块

代码语言:javascript
复制
pip3 install requests
推荐使用源安装这样会提高安装效率,这里用的豆瓣云
pip3 install requests  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

二、GET请求的使用

1、不带参数的get请求

发送请求一般分为:1.请求参数 2. 请求方法3.返回结果

请求地址博客园:https://www.cnblogs.com/wen-cheng/

代码语言:javascript
复制
import requests


def get_res():
    url = 'https://home.cnblogs.com/u/wen-cheng'
    res = requests.get(url)
    # 获取code
    print('code:%d' % res.status_code)
    # 获取返回txt内容
    print('res:%s' % res.text)if __name__ == '__main__':
    get_res()

2、再发一个带参数的get请求

请求地址:http://zzk.cnblogs.com/s/blogpost?Keywords=自动化测试平台TestDog-V1

请求参数:Keywords=自动化测试平台TestDog-V1,可以以字典的形式传参:{"Keywords": "自动化测试平台TestDog-V1"}

代码语言:javascript
复制
import requests

def get_params_res():
    params = {
        "Keywords": "自动化测试平台TestDog-V1"
    }
    url = 'https://zzk.cnblogs.com/s/blogpost'
    res = requests.get(url, params)
    print('code:%d' % res.status_code)
    print('res:%s' % res.text)if __name__ == '__main__':
    get_params_res()

3、发一个动态参数get请求

请求地址:http://zzk.cnblogs.com/s/blogpost?Keywords=?

请求参数:Keywords=?,可以以字典的形式传参数:{"Keywords": ?}

代码语言:javascript
复制

import requests

def get_kparams_res():
    k = input('输入关键字:').strip()
    params = {
        "Keywords": k
    }
    url = 'https://zzk.cnblogs.com/s/blogpost'
    res = requests.get(url, params)
    print('code:%d' % res.status_code)
    print('res:%s' % res.text)if __name__ == '__main__':
    get_kparams_res()

4、发一个带有headers和cookie的get请求

请求地址:http://zzk.cnblogs.com/s/blogpost?Keywords=自动化测试平台TestDog-V1

请求参数:Keywords=自动化测试平台TestDog-V1,可以以字典的形式传参:{"Keywords": "自动化测试平台TestDog-V1"}

headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36' }

cookie=DetectCookieSupport=OK

代码语言:javascript
复制
import requests

def getCookie():
    """
    获取cookie
    :return:
    """
    cook_url = 'https://zzk.cnblogs.com/s/blogpost?Keywords="自动化测试平台TestDog-V1"'
    response = requests.get(cook_url)
    cookie_value = ''
    for key, value in response.cookies.items():
        cookie_value += key + '=' + value + ';'
    print(cookie_value)
    return cookie_value


def get_headers_params_res():
    params = {
        "Keywords": "自动化测试平台TestDog-V1"
    }
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36'
    }
    url = "https://zzk.cnblogs.com/s/blogpost"
    cookie_value = getCookie()
    headers['Cookie'] = cookie_value
    res = requests.get(url, headers=headers, data=params)
    print('code:%d' % res.status_code)
    print('res:%s' % res.text)if __name__ == '__main__':
    get_headers_params_res()

三、本章小结

1、一个完整的requests请求

代码语言:javascript
复制
def get_Summarize():
    url = "https://xxx.xxx.com/"
    headers = {
        'k': 'w'
    }
    params = {
        'k': 'w'
    }
    requests.get(url, headers=headers, data=params)

2、requests方法总结:

代码语言:javascript
复制
 print(dir(requests))

3、常用方法

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

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自动化测试 To share 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、requests模块介绍
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档