• 解决使用mitmprox抓包可以访问网页,但是使用python request 调用该网站接口报错问题


    可能有几种原因导致这种情况。以下是一些常见的问题和可能的解决方法:

    证书验证问题:

    当你使用mitmproxy抓包时,它通常会生成自签名的SSL证书,以便进行中间人攻击检查。但在Python中使用requests库时,默认情况下,它会验证SSL证书的有效性。你需要禁用SSL验证,以便使用mitmproxy生成的证书。
    你可以在requests中通过设置verify参数为False来禁用SSL证书验证,如下所示:

    python
    import requests
    
    url = "https://example.com/api/endpoint"
    response = requests.get(url, verify=False)

    这只是一个解决方案,但在实际应用中,禁用SSL验证可能会引入安全风险,因此请慎重使用。另一种方法是将mitmproxy的根证书添加到Python的信任证书列表中,以使requests能够验证mitmproxy生成的证书。

    代理设置问题:

    确保你在Python的requests中设置了正确的代理。mitmproxy通常会运行在本地代理服务器上(默认端口为8080),你需要在requests中指定这个代理。以下是一个设置代理的示例:

    python
    import requests
    
    url = "https://example.com/api/endpoint"
    proxies = {
        "http": "http://127.0.0.1:8080",
        "https": "http://127.0.0.1:8080",
    }
    
    response = requests.get(url, proxies=proxies)

    请确保将代理配置为与mitmproxy相匹配。

    请求头问题:

    mitmproxy可以修改请求头,包括User-Agent等信息。确保你的Python请求与mitmproxy捕获的请求头相匹配,否则服务器可能会拒绝请求。

    以上完美的解决了我的问题!


    __EOF__

  • 本文作者: 久曲健的测试窝
  • 本文链接: https://www.cnblogs.com/longronglang/p/17794759.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    Pr:首选项 - 媒体缓存
    jupyter报错解决方案 : 无法将“jupyter”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
    java swing实现抖音上的表白程序
    新版Dubbo-admin管理控制台搭建踩坑
    docker基础命令
    Python21天学习挑战赛Day3·json标准库
    维格云Q-Linker入门教程
    windbg调试分析dump工具,使用windbg分析Qt崩溃原因
    Power Automate-时间戳转化为时区时间
    zcu106 lwip搭建以太网配置寄存器
  • 原文地址:https://www.cnblogs.com/longronglang/p/17794759.html