跳转到主要内容

一个库,它覆盖了requests库的默认行为,并添加了新的安全功能。

项目描述

Latest Version Supported Python Versions Supported Implementations

requests-hardened 是一个库,它覆盖了 requests 库的默认行为,并添加了新的安全功能。

安装

该项目可在 PyPI 上找到

pip install requests-hardened

功能

覆盖默认设置

此库允许覆盖一些可能具有安全影响的 requests 库的默认值

  • Config.never_redirect = False 总是拒绝HTTP重定向

  • Config.default_timeout = (2, 10) 设置默认超时值,当未传递值或None时使用此值。

  • Config.user_agent_override = None 是一个可选配置,用于覆盖 User-Agent 头。当设置为 None 时,requests 库将使用其默认用户代理。

SSRF 过滤器

SSRF IP 过滤器可以用来拒绝针对私有和回环 IP 地址的 HTTP(S) 请求。

设置

  • Config.ip_filter_enable 是否启用 IP 地址过滤

  • ip_filter_allow_loopback_ips 是否允许回环 IP 地址

示例用法

from requests_hardened import Config, Manager

# Creates a global "manager" that can be used to create ``requests.Session``
# objects with hardening in place.
DefaultManager = Manager(
    Config(
        default_timeout=(2, 10),
        never_redirect=False,
        ip_filter_enable=True,
        ip_filter_allow_loopback_ips=False,
        user_agent_override=None
    )
)

# Sends an HTTP request without re-using ``requests.Session``:
resp = DefaultManager.send_request("GET", "https://example.com")
print(resp)

# Sends HTTP requests with reusable ``requests.Session``:
with DefaultManager.get_session() as sess:
    sess.request("GET", "https://example.com")
    sess.request("POST", "https://example.com", json={"foo": "bar"})

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

requests_hardened-1.0.0b4.tar.gz (13.2 kB 查看散列值)

上传时间 源代码

支持者