Python中的API认证2025年1月5日 | 阅读 5 分钟 什么是认证?认证是验证用户身份的过程。我们可以使用唯一的用户名和密码来认证用户。只有授权人员才能通过使用唯一的用户名和密码访问数据。认证可以通过授权头的数据或服务器提供的自定义头来提供。 我们可以使用 Python 提供的不同库来提供认证。Python 提供了一个名为 Requests 的库,用于认证 API。 关于 Requests 库Python 中的 Requests 库用于向 URL 发送 HTTP 请求。它返回一个响应对象,该对象提供网页的详细信息和数据。该库有用于 API 认证的各种方法。以下是一些用于 API 认证的方法:
在实施之前,我们需要使用 pip 命令在 Python 中下载 requests 库 安装后,我们将导入 requests 库 现在,我们将使用 Python 中的 requests 库查看认证 API 的不同方法 1. 使用 HTTPBasicAuth 方法进行基本认证基本认证可以描述为提供唯一的用户名和密码来认证请求。这可以通过 requests 库提供的 HTTPBasicAuth 类来完成。 让我们实现 HTTPBasic 方法来认证 API 输出 <Response [200]> 我们从 requests.auth 模块导入了 HTTPBasicAuth 方法。然后,使用 request.get() 函数,我们调用了一个 URL,并通过 auth 参数,我们使用用户和密码声明了 HTTPBasicAuth 类。这可以通过替换为您自己的用户名和密码来更改。作为输出,它返回响应对象。如果响应对象是 200,则表示它为用户提供了认证;如果它是 401,则表示它拒绝了请求。 2. 使用 HTTPDigestAuth 方法进行摘要认证摘要认证是一种不需要通过密码的认证类型。Request 库也支持摘要认证。该库提供了 HTTPDigestAuth 类来实现摘要认证。 在此,我们将从 request.auth 模块使用 HTTPDigestAuth 类。然后,我们将用户名和密码传递给对象以进行摘要认证。 输出 <Response [401]> 我们请求授权一个 API,并被提供了一个用户名和密码。作为输出,它返回 401 响应,这意味着由于错误的用户名和密码,它拒绝了该 URL。 3. 使用授权令牌作为凭据此方法提供令牌而不是凭据来进行 API 授权。Python 中的 requests 库可以帮助处理此类 API。提供的令牌可以嵌入到请求的标头中。 可以这样实现: 输出 <Response [200]> 我们使用了 requests 库来认证 API。我们已将令牌声明为具有用户名和密码,这些用户名和密码在标头参数中传递。它返回 200 响应,因为它认证了 API 并向用户授予了访问权限。 4. 使用 OAuth1 方法进行认证OAuth1 方法是在使用 Web API 时一种非常常见的认证类型。OAuth1 提供客户端密钥、客户端密钥、资源密钥和资源密钥。OAuth1 类是 requests-oauthlib 库的子模块。要实现这种类型的认证,我们需要安装 requests-oauthlib 模块。 可以使用 pip 命令安装 requests-oauthlib 模块 OAuth1 语法 现在,我们将对此方法在 API 上进行尝试以获得认证 输出 <Response [401]> 我们从 requests_oauthlib 模块导入了 OAuth1 库。然后,我们创建了一个对象并使用必需的参数调用了 OAuth1。然后,使用 request.get() 函数,我们尝试获取 URL 的认证。作为输出,它返回 401 响应,因为它拒绝了访问。 由于 OAuth1 的效率和可靠性不高,因此在 2012 年引入了另一个名为 OAuth2 的协议,该协议更可靠、更健壮。 5. 使用 OAuth2 和 OpenID 方法OAuth2 方法也使用访问令牌。令牌是 JSON 格式的一些数据,允许用户认证任何站点或 API。使用的令牌具有到期日期和时间,这有助于使其更安全并防止任何中间干预。 可以使用 requests 库实现 OAuth2 方法。requests 库提供了 requests-oauthlib 模块来实现 OAuth2。在实施之前,我们需要导入 OAuth2 库。 6. Requests 库中的自定义认证我们可以通过提供一个通用结构(通过子类)来创建我们自己的 API 认证。requests 库在 requests.auth 模块下提供了 AuthBase 类,我们可以通过它来创建自己的认证形式。我们可以从 AuthBase 类继承认证类。 在实施自定义认证之前,我们需要导入 AuthBase 类 在 Python 中实现自定义认证 输出 <Response [401]> 我们导入了所需的库,然后创建了一个类并继承了 AuthBase 类。在此自定义类中,我们调用了一个内置函数 __call__,它返回对象。然后,定义了一个 URL 并在 requests.get() 函数中将其作为 auth 参数调用自定义()类。 |
3D 统计处理是计算机图形学、机器人学和增强现实等许多领域的重要组成部分。Open3D 是一个开源库,它提供了一套全面的 3D 数据处理工具,包括点云和网格处理,以及强大的可视化...
阅读 8 分钟
基本 URL 基本 URL 是网站或资源的主地址。它作为构建其他相对 URL 的基础。把它想象成所有其他 URL 分支的根。通常,基本 URL 包括域名...
阅读 4 分钟
在接下来的教程中,我们将讨论用于管理 Python 项目的项目模板。但在我们开始之前,让我们简要了解一下什么是项目模板以及使用项目模板的优势。什么是项目模板?项目模板是预定义的...
阅读 4 分钟
在此问题中,我们给定一个 m x n 的二进制矩阵。矩阵仅包含 1 和 0。矩阵中的 1 代表路径,0 是死单元。我们将给定两个单元地址。我们的任务是……
阅读 8 分钟
Python 是一种高级的、解释型的编程语言,以其简单性和可读性而闻名。由 Guido van Rossum 创建并于 1991 年首次发布,Python 通过其简洁的语法和缩进结构强调代码的清晰性。它支持多种编程范式,例如...
阅读 4 分钟
Python 以其简单性和多功能性而闻名,提供了多种数据结构以适应不同的编程需求。在这些结构中,列表作为基础且强大的容器脱颖而出。列表是可以存储异构元素的动态数组,提供了一种灵活高效的...
阅读 3 分钟
简介 CRT 是一个数学概念,它求解模同余系统。它通常在数论和密码学中用于快速模运算计算。在本文中,我们将使用 Python 中的逆模方法讨论中国剩余定理的应用。CRT 是什么?CRT….
阅读 3 分钟
?图像尺寸简介 在我们讨论代码之前,让我们首先定义图像“尺寸”对我们意味着什么。简而言之,图像是一组像素,其中每个像素表示颜色的一小部分。图像的宽度是……
7 分钟阅读
简介 数据科学和机器学习领域经常包含需要妥善处理的分类数据,例如非数值。数据预处理的职责,例如在模型或分析中使用前将分类数据转换为数值格式,相当...
阅读 10 分钟
引言 数字编程 (IP) 是一种数值增强方法,其中计算编程任务中的部分或全部参数都限制为数字。这种限制对于调度、资源分配和计划操作等实际问题至关重要,因为答案必须是整数...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India