You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Apache2部署Django时出现fake_useragent数据加载错误如何解决?

问题根因

这个报错和Django本身、Apache mod_wsgi部署逻辑没有直接关联,核心是你项目依赖的fake_useragent0.1.11版本的官方数据源页面结构发生了变更,导致库自带的解析规则失效,无法正常拉取浏览器UA数据。

两种运行方式表现不同的原因也很明确:你本地用runserver启动项目时,fake_useragent已经在你的个人用户目录下缓存了之前拉取成功的UA数据,不需要重新请求远端接口,所以不会触发报错;而Apache mod_wsgi运行时的进程身份通常是www-data,和你启动runserver的用户身份不同,无法读取个人用户目录下的缓存文件,所以会重新发起拉取请求,触发解析错误。

解决方法

  • 方法1:升级fake_useragent到最新版本
    旧版本0.1.11已经停止维护,官方新版已经修复了数据源解析问题,直接在你的虚拟环境中执行升级命令即可:
    pip install -U fake-useragent
    升级完成后重启Apache服务即可生效。

  • 方法2:手动指定本地UA缓存文件(适合无法升级依赖版本的场景)
    你可以提前从正常运行的环境中导出UA缓存数据,保存为JSON文件,在代码中初始化fake_useragent时直接指定本地缓存路径即可:

from fake_useragent import UserAgent
ua = UserAgent(path='/var/www/common_res/fake_useragent.json')

注意要给Apache运行身份www-data开放这个缓存文件的读取权限。

  • 方法3:临时禁用SSL校验(不推荐长期使用)
    部分场景下添加关闭校验的参数即可绕过拉取失败问题:
ua = UserAgent(verify_ssl=False)

内容的提问来源于stack exchange,提问作者Navid777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 10:54:02