python requests get请求 如何获取所有请求

在Python中,使用requests库发送HTTP GET请求非常简单。如果你想获取所有的请求,通常意味着你想记录或跟踪这些请求。这可以通过使用requestsSession对象和自定义的HTTPAdapter来实现。

以下是一个如何实现这一功能的示例代码:

复制代码
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.response import HTTPResponse
 
class LoggingHTTPAdapter(HTTPAdapter):
    def send_request(self, request, **kwargs):
        print(f"Sending {request.method} request to {request.url}")
        return super().send_request(request, **kwargs)
 
    def send(self, request, **kwargs):
        response = super().send(request, **kwargs)
        print(f"Received {response.status_code} response for {request.url}")
        return response
 
# 创建一个session对象
session = requests.Session()
# 将自定义的LoggingHTTPAdapter设置为所有HTTP请求的适配器
session.mount('http://', LoggingHTTPAdapter())
session.mount('https://', LoggingHTTPAdapter())
 
# 现在所有的请求都会被自动记录
response = session.get('http://example.com')
复制代码

在这个例子中,我们定义了一个LoggingHTTPAdapter类,它覆盖了send_requestsend方法,以便打印出发送的请求和接收的响应。然后,我们创建了一个Session对象,并将LoggingHTTPAdapter挂载到所有的请求上。这样,通过这个session对象发出的所有请求都会被记录。

posted @   苹果芒  阅读(99)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示