首页 » 脚本文章 » 软件测试学习笔记丨常用第三方库 urllib3(请求第三方测试学习笔记响应)

软件测试学习笔记丨常用第三方库 urllib3(请求第三方测试学习笔记响应)

神尊大人 2024-07-24 02:12:19 脚本文章 0

扫一扫用手机浏览

文章目录 [+]

import urllib3def test_HTTP(): # 创建 线程池 对象 pm = urllib3.PoolManager() resp = pm.request(method='GET',url='http://httpbin.org/get') print(type(resp))urllib3 HTTPResponse 对象status 属性:请求响应状态码,200成功,301重定向,404请求资源不存在,500服务端错误headers 属性:响应头部信息data 属性:响应正文

urllib3 解析响应内容二进制响应内容解码JSON 字符串

import urllib3import jsondef test_response(): # 创建 线程池 对象 pm = urllib3.PoolManager() # 发送请求 resp = pm.request(method='GET', url='http://httpbin.org/get') print(type(resp)) # 获取 二进制 响应内容 raw = resp.data print(type(raw), raw) # 将 二进制 解码成 字符串 content = raw.decode('utf-8') print(type(content), content) # json 解析成字典对象 obj = json.loads(content) print(type(obj), obj) print(obj["origin"]) print(obj['headers'])urllib3 request 请求参数语法:request(method, url, fields, headers, )必填项 method:请求方式,POST、GET、PUT等,必须大写 url:请求地址选填项 headers:请求头信息 fields:请求体数据 body:指定请求体类型 timeout:设置超时时间urllib3 定制请求数据定制请求头信息使用headers参数

import urllib3import jsondef test_headers(): # 创建 线程池 对象 pm = urllib3.PoolManager() url = 'http://httpbin.org/get' # 定制请求头信息 headers = {"School": "hogwars", "newsa": 33} # 发送请求 resp = pm.request('GET', url, headers=headers) # 查看响应信息 content = json.loads(resp.data.decode('utf-8')) print(content) print(content['headers']['School'])urllib3 定制请求数据定制查询字符串参数 firlds 参数:适用于 GET,HEAD,DELETE 请求 拼接 url :适用于 POST、PUT 请求

软件测试学习笔记丨常用第三方库 urllib3(请求第三方测试学习笔记响应) 软件测试学习笔记丨常用第三方库 urllib3(请求第三方测试学习笔记响应) 脚本文章
(图片来自网络侵删)

import urllib3import json# get \ head \ delete 请求def test_reqs(): pm = urllib3.PoolManager() url = 'http://httpbin.org/get' # 设定 查询字符串 fields = {"school": "china"} # 发送请求 aaa = pm.request('GET', url, fields=fields) # 查看响应信息 ss = json.loads(aaa.data.decode('utf-8')) print(ss)# post \ put 请求def test_post(): pm = urllib3.PoolManager() url = 'http://httpbin.org/post' # 从内置库 urllib 的 parse 模块导入编码方法 from urllib.parse import urlencode # 定义编码对象 encode_str = urlencode({'school': 'china'}) # 拼接到 url 中 resd = pm.request('POST', url=url + '?' + encode_str) # 查看响应信息 dd = json.loads(resd.data.decode('utf-8')) print(dd)urllib3 定制请求体数据提交 form 表单数据类型: ‘Content-Type’:‘multipart/form-data’请求方式:POST、PUT

import urllib3import json# post \ put 请求def test_post(): pm = urllib3.PoolManager() url = 'http://httpbin.org/post' fields = {'school': 'china'} # 使用 fields 参数 发起请求 red = pm.request('POST', url, fields=fields) # 解析报文信息 ddd = json.loads(red.data.decode('utf-8')) print(ddd) print(ddd['form'])提交 JSON 格式数据类型:’Content-Type‘:‘application/json’请求方式:POST、PUT

软件测试学习笔记丨常用第三方库 urllib3(请求第三方测试学习笔记响应) 软件测试学习笔记丨常用第三方库 urllib3(请求第三方测试学习笔记响应) 脚本文章
(图片来自网络侵删)

import urllib3import json# post \ put 请求def test_post(): pm = urllib3.PoolManager() url = 'http://httpbin.org/post' # 设定请求头数据 headers = {'Content-Type':'application/json'} # 格式化json文本数据 json_str = json.dumps({'school':'china'}) # 使用 fields 参数 发起请求 red = pm.request('POST', url, headers=headers, body=json_str) # 解析报文信息 ddd = json.loads(red.data.decode('utf-8')) print(ddd) print(ddd['data'])urllib3 设置超时时间timeout:设置超时时间时间单位:秒值的格式:float类型

import urllib3def test_timeout(): pm = urllib3.PoolManager() url = 'http://httpbin.org/delay/3' # 设定超时时间4秒 # 使用 fields 参数 发起请求 red = pm.request('GET', url, timeout=4.0) print(red.status) print(red.data)urllib3 发送 HTTPS 请求

. HTTPS 请求默认需要校验证书

PoolManage 的 cert_reqs 参数 ”CRET_REQUIRED“:需要校验 “CRET_NONE”:取消校验

import urllib3import jsondef test_httpshttps(): url = 'http://httpbin.ceshiren.com/get' # 创建一个不要校验证书的连接池对象 pm_https = urllib3.PoolManager(cert_reqs='CERT_NONE') # 发起请求 red = pm_https.request('GET', url) content = json.loads(red.data.decode('utf-8')) print(content)软件测试开发免费视频教程分享 - 公众号 - 测试人社区

标签:

相关文章

上古卷轴吸血鬼病暗影中的诅咒之谜

《上古卷轴》作为一款经典的奇幻游戏,自问世以来,便以其独特的世界观和丰富的故事情节吸引了无数玩家。在游戏中,吸血鬼病作为一项神秘而...

脚本文章 2025-02-18 阅读0 评论0