编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

失业程序员复习python笔记——网络请求(requests)

wxchong 2025-06-04 02:20:10 开源技术 8 ℃ 0 评论

Python 的 requests 库是基于标准库 urllib3 封装的一个更高级、更易用的第三方 HTTP 客户端库。

GET请求

import requests

response = requests.get('http://httpbin.org/get')
print(response.text) # 打印响应内容

#输出
{
"args": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.32.3",
"X-Amzn-Trace-Id": "Root=1-682183aa-4856a7b908617d0f34eecdde"
},
"origin": "6x.xxx.xx.xx",
"url": "http://httpbin.org/get"
}


执行完代码可以看到,requests库仅用一行代码就可以完成基本GET请求,比urllib更方便更直观


带参数的GET请求

import requests

params = {'key1': 'value1', 'key2': 'value2'}
response = requests.get('https://httpbin.org/get', params=params)
print(response.text) # 查看实际请求的URL

#输出
{
"args": {
"key1": "value1",
"key2": "value2"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.32.3",
"X-Amzn-Trace-Id": "Root=1-68218821-439252606a52a2fc063411ca"
},
"origin": "6x.xxx.xx.xx",
"url": "https://httpbin.org/get?key1=value1&key2=value2"
}

根据代码可以看出只需要增加一行代码,就可以完成带参数的GET请求,也不需要像用urllib库时候的encode和decode。

post请求

import requests

data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('https://httpbin.org/post', data=data)
print(response.text)

#输出
{
"args": {},
"data": "",
"files": {},
"form": {
"key1": "value1",
"key2": "value2"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Content-Length": "23",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.32.3",
"X-Amzn-Trace-Id": "Root=1-682189a5-218224180c0f64481ab0f2e1"
},
"json": null,
"origin": "6x.xxx.xx.xx",
"url": "https://httpbin.org/post"
}

同样的只需要三行代码,就可以完成一个基本的http post请求,对比urllib库会简单很多。


总结

这篇展示了使用第三方库requests进行http get和post请求的例子,可以看出其更简单、直观,可以在实际项目中使用这个库进行网络请求

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表