Bull's blog Bull's blog
首页
工作
  • 分类
  • 标签
  • 归档
关于

Bull

首页
工作
  • 分类
  • 标签
  • 归档
关于
  • 马上消费

  • 斗虫

    • 基础课件

      • python基础和条件语句
      • 基础数据类型_改
      • 函数
      • 1 函数练习
      • 32文件操作
      • 3 异常
      • 面向对象
      • 1面向对象案例-学生管理系统
      • 1Python基础练习题
      • 自动化测试理论
      • 2 接口测试基础
      • 3 requests
      • 4 代码
      • 5 简单封装
      • 1 pytest
      • 签名的设计
      • 接口case设计
      • 3 新建一个接口
      • x装饰器语法
      • httprunner2.x工具快速入门
      • httprunner3.x的简介
      • Flask框架
      • 了解任务
      • mock服务
      • UI自动化策略
      • PageObject模式
      • pytest参数化进阶
      • pytest框架生成报告
      • Yaml运用
      • 日志类模板
      • 持续集成
      • jdk配置
      • Linux基础
      • Jenkins主从测试任务
      • conda管理项目环境
      • 面试题-栈结构
      • 面试题-找众数
      • 正交测试法
      • 装饰器
      • 综合面试题_原版
    • RF

  • 天眼查

  • 某米

  • 工作经历
  • 斗虫
  • 基础课件
wangyang
2023-09-02

4 代码

# requests练习代码

# 1.get请求
# 2.post请求
# 3.md5的加密(验签、令牌)
# 4.上传文件
ip = 'http://127.0.0.1:8080'
#请求的地址
import requests
def test_get():
    url = 'http://127.0.0.1:8080/pinter/com/getSku/'
    #1:get请求
    # 请求的内容-表单形式
    params = {'id':1}#在requests里,表单形式的入参。要写成'字典'这种数据格式
    r = requests.get(url = url,params=params)#用一个变量,接收响应
    print(r.text)#把响应信息打印出来(以文本形式)

# 2.post请求
# 2.1拼接url,解决不同测试服务
def test_post():
    ip = 'http://127.0.0.1:8080'
    url = '/pinter/com/login'
    url = ip + url
    #2.2请求内容,使用data参数
    data = {'userName':'admin','password':1234}
    r = requests.post(url = url,data = data)

    print('用文本展示响应:',r.text,type(r.text))
    # 2.3使用requests对象的.json(),来解析响应。
    print('requests自动转换json响应',r.json(),type(r.json()))

# 3.md5加密(验签sign)
url = ip +     '/pinter/com/userInfo'

# sign一般是通过,对几个字段做拼接。然后再用算法进行加密,来生成的
# 现在用 手机号+校验字串+时间戳 来模拟一个验签
def test_md5():
    import time
    import hashlib
    phonenum=15210987678#通过测试数据本身,动态的获取
    optcode = 'testfan'#通过配置
    timestr=str(int(time.time()*1000))#用库动态生成出来
    sign = str(phonenum) + optcode + timestr
    # 用算法进行加密
    sign_md5 = hashlib.md5(sign.encode()).hexdigest()
    print(sign_md5)
    json = {"phoneNum":"123434",
            "optCode":"testfan",
            "timestamp":"12112121212",
            "sign":sign_md5}
    r = requests.post(url=url,json=json)
    print(r.json())

#需要验签的接口怎么处理?
# 1.验签由那几个字段组成
#     随机计算
#     从数据库、响应获取
#     配置或写死
# 2.验签的加密算法是什么
#     要了解加密算法
#         甲公司 - php - md5加密
#     用python实现加密算法

# 4.上传文件
url = '/pinter/file/api/upload'
url = ip + url
#报文内容是文件
data = {'file':'./data.txt'}

r = requests.post(url = url,files = data)
print(r.text)

# requests库的使用
# 1.要准备好url
# 2.要准备好请求内容
#     get请求的内容:params
#     普通的表单形式:data
#     json形式:json
#     上传文件:files
# 3.新建变量接收结果 and 发送请求
#     发送请求:把准备好的参数放到requests.get、post里
#     接收结果:text文本形式接收,对json响应可以自动转换成字典
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#python自动化#自动化入门
上次更新: 2023/09/05, 02:16:11
3 requests
5 简单封装

← 3 requests 5 简单封装→

最近更新
01
30.快速实现接口重构测试---deepdiff库使用
09-21
02
概述
09-07
03
概述
09-07
更多文章>
Theme by Vdoing | Copyright © 2018-2025 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式