• 解决使用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 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    Yii缓存机制yii\caching\Cache
    Java初学者容易犯的错误,Java程序员必须知道的学习路线
    免交互
    含文档+PPT+源码等]精品基于Javaweb的酒店民宿管理推荐平台SSM[包运行成功]Java毕业设计SSM项目源码
    openssl1.0.2版本Windows安装问题
    基于java+springboot+mybatis+vue+elementui的校园新闻网站
    Yolov5 export.py实现onnx模型的导出
    HTML那些重要的知识点
    一些好用的系统、组件记录
    基于javaweb的幼儿园管理系统(java+jsp+html+javascript+mysql)
  • 原文地址:https://www.cnblogs.com/longronglang/p/17794759.html