Python Curl

2024 年 8 月 29 日 | 5 分钟阅读

在本教程练习中,我们将学习如何使用 PycURL,它是 Python 中 cURL 库的接口。Curl 用于将数据传输到服务器和从服务器传输数据,以及发出各种数据请求。PycURL 非常适合测试 REST API、下载文件等。一些开发者更喜欢使用 Postman 来测试 API,但 PycURL 是另一个不错的选择,因为它支持多种协议,如 FILE、FTPS、HTTPS、IMAP、POP3、SMTP、SCP、SMB 等。此外,当需要大量并发、快速且可靠的连接时,PycURL 非常有用。

如上所述,PycURL 是 Python 中 libcURL 库的接口;因此,PycURL 继承了 libcURL 的所有功能。PycURL 非常快速(据说比 Requests,一个用于 HTTP 请求的 Python 库快得多),支持多协议,并包含用于支持网络操作的附件。

先决条件

在继续本教程之前,请注意有几个要求。您应该对 Python 语法有基本了解,或者至少有其他语言的入门级编程经验。此外,您应该对常见的网络概念(如协议及其类型以及客户端-服务器通信模式)有深入的了解。了解这些概念对于理解 PycURL 库至关重要。

安装

PycURL 的安装过程对于所有操作系统来说都非常简单直接。您需要先在您的系统上安装 libcURL 才能使用 PycURL。

Macintosh/Linux 操作系统

对于 Mac OS 和 Linux,PycURL 的安装最为简单,因为它没有依赖项,并且 libcURL 会自动安装。在您的终端中运行以下命令,安装将完成。

通过 pip 安装

通过 easy_install 安装

Windows 操作系统

然而,对于 Windows,在使用 PyCURL 进行项目开发之前,需要安装几个依赖项。如果您使用的是官方 Python 发行版(例如,您已从官方网站 https://pythonlang.cn 下载了 Python 版本)以及 pip,您只需在命令行中运行以下命令,安装即可完成。

如果您没有使用 pip,可以在 PycURL Windows 上找到 EXE 和 MSI 安装程序。您可以从那里下载并安装它们,就像安装其他应用程序一样。

什么是 cURL?

cURL 是一个开源命令行工具和库,用于使用 URL 语法在命令行或脚本中传输数据。它支持几乎 26 种协议;它可以处理各种复杂的任务,包括用户身份验证、FTP 传输和测试 REST API。

在 Python 中,cURL 使用 PycURL 将请求发送到服务器并从服务器接收数据。PycURL 在 Python 中充当 libcURL 库的接口。

几乎所有编程语言都可以使用 REST API 来访问托管在 Web 服务器上的端点。与使用 Java、Python、C++、JavaScript 或 Ruby 进行编程调用不同,您可以使用 cURL 来演示这些调用,它提供了一种与语言无关的方式来显示 HTTP 请求及其响应。然后,您可以将请求解释成适合您语言的格式。

cURL 是传输数据的最流行的命令行工具。它高度可配置,并提供多种编程语言的库,使其成为自动化网络抓取的不错选择。它很好地支持的语言之一是 Python,主要因其灵活性和可读性而广受欢迎。

cURL 和 Python 结合使用,可以帮助您编写 API 请求脚本、调试复杂事件以及从网页中检索任何数据。本教程将展示如何使用这两个相关工具,特别是用于 POST 和 GET 请求。我们将使用 PycURL 包。

以下是 cURL 提供的一些优势:

  • 它用途广泛。它适用于几乎所有操作系统和设备,并支持多种协议,包括 HTTP、FILE 和 FTP。
  • 它有助于测试端点并确定它们是否正常工作。
  • 它是一个低级命令行工具,在传输数据/HTTP 请求方面提供出色的性能。
  • 它提供了发送或接收内容的记录,可以用于分析。

为什么抓取网页?

大量数据无法以 CSV 导出或 API 的形式提供。网络抓取有时是获取网络上信息的唯一方式。例如,可以考虑当您可以下载网络论坛上的每个帖子时,可以进行的分析类型。

网络抓取是一种从网站中提取大量非结构化数据并将其存储在结构化格式中的自动化方法。有多种抓取网站的方法,从 API 到编写自己的代码。

在 Python 中使用 cURL

在开始之前,有几个前提条件。您需要掌握 Python 语法基础,或者至少有其他语言的入门级编程经验。您还应该了解基本的网络概念,如协议以及客户端-服务器通信。

您需要安装以下程序。

Python

  • 选择要下载的 Python 版本和合适的 Python 可执行安装程序。本教程使用 Windows 可执行安装程序 x86-64,下载大小接近 25 MB。
  • 下载 Python 安装程序后,运行安装程序。

Pip

如果您选择的是较旧的 Python 版本,它可能不包含 pip,这是一个与 Python 程序配合使用的包管理系统。请务必安装它,因为 pip 推荐用于大多数包,尤其是在虚拟环境中进行工作时。

要确认 pip 已安装,请按照以下步骤操作:

  • 从“开始”菜单中,选择“cmd”。
  • 打开命令提示符应用程序并输入 `pip --version`。
  • 如果 pip 已安装,它将显示版本号。如果尚未安装,将显示以下消息:

PycURL

PycURL 需要确保其编译所用的 SSL 库与 libcURL 使用的 SSL 库相同,从而 PyCURL 也能使用相同的 SSL 库。PyCURL 的 setup.py 使用 `curl-config` 来确定这一点。

Certifi

Certifi 用于提供 Mozilla 的根证书 SSL。您可以在项目描述网站上阅读有关 certifi 的更多信息。


下一主题Python Curl 示例