当前位置: 首页 > news >正文

【代理错误 django】Request error: HTTPSConnectionPool(host=‘‘, port=443): 、


❗问题 ❶:仍然是代理错误(ProxyError)

错误日志:

Request error: HTTPSConnectionPool(host='xueshu.baidu.com', port=443): Max retries exceeded ... Caused by ProxyError('Unable to connect to proxy', FileNotFoundError(2, 'No such file or directory'))

✅ 根本原因:

你当前 Python 环境 依旧在默认尝试走系统代理,即使你重启 Django,也还是报一样的错误。


✅ 解决方法:

请按照这个版本彻底修改 _fetch_and_parse

def _fetch_and_parse(self, url):import os# ✅ 清除环境变量代理os.environ.pop("HTTP_PROXY", None)os.environ.pop("HTTPS_PROXY", None)headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.3"}# ✅ 强制禁用代理response = requests.get(url, headers=headers, proxies={"http": "", "https": ""}, timeout=10)response.raise_for_status()response.encoding = 'utf-8'return BeautifulSoup(response.text, 'html.parser')

🔁 这个版本做了两件事:

  1. 显式删除系统代理环境变量(防止 requests 默认读取)
  2. 显式传入空代理地址 proxies={"http": "", "https": ""},防止 fallback 到默认代理设置

❗问题 ❷:你访问了一个 GET 方法,但只定义了 POST

错误日志:

PaperInfoView Method "GET" not allowed.

你定义的接口是这样的:

@action(methods=['post'], detail=False, url_path="fetch_paper_info")

只能支持 POST 请求。


✅ 解决方法:

选项一:使用 POST 请求(推荐)

前端或浏览器请求 URL 时 必须用 POST 请求

curl -X POST "http://localhost:8999/api/single/fetch_paper_info/?link=https://xueshu.baidu.com/usercenter/paper/show?paperid=xxx"
选项二:允许 GET(不推荐,但可用于调试)

你可以把方法改成:

@action(methods=['get', 'post'], detail=False, url_path="fetch_paper_info")

❗问题 ❸:你没有设置 serializer_class,导致 Django 报错

错误日志:

AssertionError: 'PaperInfoView' should either include a `serializer_class` attribute

✅ 解决方法:

即使你不序列化,也需要加一个空壳 serializer,否则 DRF 会报错。

from rest_framework import serializersclass DummySerializer(serializers.Serializer):passclass PaperInfoView(CustomModelViewSet):serializer_class = DummySerializer

✅ 结论:你现在需要做 3 件事

步骤操作
✅ 强制禁用代理修改 _fetch_and_parseproxies={"http": "", "https": ""}os.environ.pop()
✅ 添加 serializer_class加一个空的 DummySerializer
✅ 只用 POST 方式请求或将 @action 改成支持 GET

相关文章:

  • openwebui搭建mcp
  • Windows安装Ollama并指定安装路径(默认C盘)
  • WebStorm中Gitee账号的密码登录与令牌登录设置
  • 每日一道leetcode
  • 天元证券|奶粉行业结构性回暖 乳企竞速全龄化、国际化
  • java忽略浅拷贝导致bug
  • blender 导出衣服mesh为fbx,随后导入UE5,坐标轴如何保存一致
  • 算法基础(以acwing讲述顺序为主,结合自己理解,持续更新中...)
  • 3.k8s是如何工作的
  • 【Web前端技术】第一节—HTML简介
  • 【C到Java的深度跃迁:从指针到对象,从过程到生态】第二模块·语法迁移篇 —— 第四章 数据类型:从sizeof到包装类的进化
  • ocr-身份证正反面识别
  • 一个由通义千问以及FFmpeg的AVFrame、buffer引起的bug:前面几帧影响后面帧数据
  • 关于系统架构思考,如何设计实现系统的高可用?
  • FlexRay协议详解:优点、缺点及常用MCU推荐
  • 【HDFS入门】HDFS副本策略:深入浅出副本机制
  • 【Web APIs】JavaScript 操作多个元素 ④ ( 表格全选复选框案例 )
  • 脉冲编码调制(PCM)在三角形信号中的应用
  • 力扣热题100—滑动窗口(c++)
  • 团体程序设计天梯赛L2-008 最长对称子串
  • 怎样在网站做视频链接/网上在线看视频为什么卡
  • 政府网站功能/专业培训大全
  • 程序员自己做项目的网站/官网优化哪家专业
  • 服务公司名称大全/莆田网站建设优化
  • 郑州微信公众号网站建设/未来网络营销的发展趋势
  • 深圳小程序网站开发/百度快速收录提交工具