摘要:requests 是 Python 中最受欢迎的第三方库之一,用于发送各种 HTTP 请求(GET、POST、PUT、DELETE 等)。无论是爬虫、接口测试,还是后台数据采集,它都表现稳定高效。
requests 是 Python 中最受欢迎的第三方库之一,用于发送各种 HTTP 请求(GET、POST、PUT、DELETE 等)。无论是爬虫、接口测试,还是后台数据采集,它都表现稳定高效。
学习本来就不是一蹴而就的事,不过只要你肯练、敢用,坚持一阵子,你一定能看到变化![碰拳]
获取网页数据
适用场景:网页抓取、API 查询、数据分析前的采集。
#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Fish @File :D18.py@Date :2025/6/16 18:58 @Author : malijie"""import jsonimport requestsrequests.packages.urllib3.disable_warningsurl = "https://httpbin.org/post"params = {"name": "Trump","party": "Republican","age": 79}data = {"username": "admin", "password": "123456"}response = requests.post(url, params=params, data=data, verify=False)print(response.status_code) # 200print(json.dumps(json.loads(response.text), indent=4, sort_keys=True, ensure_ascii=False))POST 请求:提交表单/发送数据
适用场景:模拟登录、表单提交、自动化测试。
#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Fish @File :D18.py@Date :2025/6/16 18:58 @Author : malijie"""import jsonimport requestsrequests.packages.urllib3.disable_warningsurl = "https://httpbin.org/headers"headers = {"User-Agent": "MyPythonBot/1.0"}cookies = {"sessionid": "fake-session-id"}params = {"name": "Trump","party": "Republican","age": 79}data = {"username": "admin", "password": "123456"}response = requests.get(url, params=params, data=data, verify=False, headers=headers, cookies=cookies)print(response.status_code) # 200print(json.dumps(json.loads(response.text), indent=4, sort_keys=True, ensure_ascii=False))设置请求头、Cookie
适用场景:伪装成浏览器、保持会话。
#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Fish @File :D18.py@Date :2025/6/16 18:58 @Author : malijie"""import jsonimport requestsrequests.packages.urllib3.disable_warningsurl = "https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png"response = requests.get(url)with open("Baidu.png", "wb") as f:f.write(response.content)小技巧:使用 .content 获取二进制内容,用于文件写入。
#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Fish @File :D18.py@Date :2025/6/16 18:58 @Author : malijie"""import jsonimport requestsrequests.packages.urllib3.disable_warningsdef test(timeout):url = "https://httpbin.org/delay/3"try:response = requests.get(url, timeout=timeout, verify=False)print(f"timeout= {timeout},\n{json.dumps(json.loads(response.text), indent=4, sort_keys=True, ensure_ascii=False)}")except requests.exceptions.Timeout:print(f"timeout= {timeout},请求超时!")if __name__ == '__main__':timeout_1 = 3timeout_2 = 5test(timeout_1)test(timeout_2)异常处理与超时设置
防止请求卡住、适合放在定时任务或爬虫脚本中。
#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Fish @File :D18.py@Date :2025/6/16 18:58 @Author : malijie"""import jsonimport requestsrequests.packages.urllib3.disable_warningsdef test_status:url = "https://httpbin.org/status/200"response = requests.get(url, verify=False)print(response.status_code)assert response.status_code == 200def test_status2:url = "https://httpbin.org/status/200"response = requests.get(url, verify=False)print(response.status_code)assert response.status_code == 404接口自动化测试场景示例
✅ requests 是接口测试框架如 pytest 或 unittest 的好搭档。
功能用法说明GET 请求requests.get(url, params)获取网页/接口数据POST 请求requests.post(url, data)提交数据请求头设置headers={'User-Agent':...}伪装浏览器设置超时timeout=5防止阻塞下载文件response.content保存图片/文件获取 JSONresponse.json自动解析接口返回值点赞[赞]关注不迷路,后续更新更多自动化测试经验,我们一起成长!
欢迎评论区留言你最常用的 JSON 场景或踩过的坑~
下期预告:beautifulsoup4 — 精准提取网页结构中的信息
来源:子非鱼一点号
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!