一个库,它覆盖了requests库的默认行为,并添加了新的安全功能。
项目描述
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 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 1fc29dbae273a61980d015f1948404374ee1f7b0f9e464a564af12b9d0c5ebde |
|
MD5 | e72a8aa968c2f873c23d81e1d44dabe7 |
|
BLAKE2b-256 | 00fe6ad993379dd152dd2cf83b47ce8ea42c9ddc51c1afdceb0c7e72243c3ed6 |