Python requests库安装与基本用法详解

码头散步
码头散步
发布时间:2026-10-13| 4人浏览过
原创

本文详细介绍Python中requests库的安装方法及基本使用。作为比urllib更简洁的第三方HTTP库,requests支持GET、POST等多种请求方式。文章通过具体代码示例,演示了如何发起基础请求、处理带参数URL、解析JSON响应以及上传文件,帮助开发者快速掌握网络交互的核心技能。

requests库简介与安装

requests 是一个基于 Python 实现的轻量级 HTTP 客户端库,其设计初衷是为了提供比标准库 urllib 更为简洁直观的操作接口。

由于 requests 属于第三方扩展库,并非 Python 内置模块,因此在首次使用前必须通过命令行工具进行安装。


pip install requests

安装流程结束后,在 Python 环境中执行 import 导入操作。若未报错,即表明环境配置成功,可以正式投入开发使用。

基础请求与响应处理

掌握其核心功能前,需了解其基础调用逻辑。

requests.get() 方法用于向目标服务器发送 HTTP GET 请求,该操作返回的对象类型为 HTTPResponse,包含了服务器响应的所有关键信息。


import requests

 

response = requests.get('http://www.baidu.com')

print(response.status_code) # 打印状态码

print(response.url)     # 打印请求url

print(response.headers)   # 打印头信息

print(response.cookies)   # 打印cookie信息print(response.text) #以文本形式打印网页源码

print(response.content) #以字节流形式打印

执行上述代码后,控制台将输出服务器返回的具体数据。

常见的成功状态码为 200,表示请求已成功被服务器处理。

多种HTTP请求方式

除了 GET 请求,requests 模块还支持多种标准的 HTTP 动词,以适应不同的业务场景。


import requests

 

requests.get('http://httpbin.org/get')

requests.post('http://httpbin.org/post')

requests.put('http://httpbin.org/put')

requests.delete('http://httpbin.org/delete')

requests.head('http://httpbin.org/get')

requests.options('http://httpbin.org/get')

最基础的使用场景是直接发起一个不带额外参数的 GET 请求。


import requests
response = requests.get('http://httpbin.org/get')print(response.text)

带参数请求与JSON解析

在实际开发中,往往需要向服务器传递查询参数,这可以通过两种主要方式实现。

第一种方式是将查询参数直接拼接在 URL 字符串中,例如在地址后追加问号及键值对。


import requests

response = requests.get(http://httpbin.org/get?name=gemey&age=22)print(response.text)

当服务器返回 JSON 格式的数据时,可以使用 requests 提供的便捷方法进行解析。


import requests

response = requests.get('http://httpbin.org/get')

print(response.text)

print(response.json()) #response.json()方法同json.loads(response.text)

print(type(response.json()))

以下是一个具体的查询案例,展示了如何获取数据并处理。


import requests
 
URL = 'http://ip.taobao.com/service/getIpInfo.php' # 淘宝IP地址库API
try:
  r = requests.get(URL, params={'ip': '8.8.8.8'}, timeout=1)
  r.raise_for_status()  # 如果响应状态码不是 200,就主动抛出异常
except requests.RequestException as e:
  print(e)
else:
  result = r.json()
  print(type(result), result, sep='\n')

文件上传操作

利用 Requests 模块进行文件上传同样简单,库会自动识别并处理文件的 MIME 类型,无需手动指定复杂的头部信息。


import requests
 
url = 'http://127.0.0.1:5000/upload'
files = {'file': open('/home/lyb/sjzl.mpg', 'rb')}
#files = {'file': ('report.jpg', open('/home/lyb/sjzl.mpg', 'rb'))}   #显式的设置文件名
 
r = requests.post(url, files=files)
print(r.text)

import requests
 
url = 'http://127.0.0.1:5000/upload'
files = {'file': ('test.txt', b'Hello Requests.')}   #必需显式的设置文件名
 
r = requests.post(url, files=files)
print(r.text)

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。