【SD WebUI踩坑】启动报错 Expecting value: line 1 column 1 (char 0) 的终极解决方案

Stable Diffusion WebUI


【SD WebUI踩坑】启动报错 Expecting value: line 1 column 1 (char 0) 的终极解决方案




0. 前言

最近给 Stable Diffusion WebUI 更换了一个新的网络环境,结果噩梦开始了。启动时后台日志看起来正常,或者偶尔报个错,但一打开网页端,右侧就开始疯狂弹出红色的报错框:

Error

Expecting value: line 1 column 1 (char 0)

折腾了一整天,试过删除 config.json、重置 styles.csv、扫描空文件、设置--xformers --gradio-queue 参数、甚至重装了 Python 环境,都没有解决。最后发现,这根本不是文件损坏的问题,而是 Python 环境与 Windows 系统网络设置之间的"沟通障碍"

1. 问题现象

启动 webui-user.bat 后,控制台或浏览器端抛出 JSON 解析错误:

复制代码
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

有时候还会伴随另一个错误,提示无法连接本地服务:

复制代码
ValueError: When localhost is not accessible, a shareable link must be created...

2. 原因分析(不仅是文件坏了)

大多数教程会告诉你这是因为 config.json 变成了空文件(0KB)。确实,断电会导致文件清空。但如果你检查发现文件都有内容,却依然报这个错,那么真凶只有一个:网络干扰

核心逻辑:
  1. 自动协商失败 :当我们在 Windows 中开启网络加速时,Python 的 requests 库会尝试自动读取系统的网络设置。

  2. 协议错乱 :如果网络工具软件和 Python 之间的协议握手失败(比如 Python 默认用 HTTPS,而本地端口只响应 HTTP,或者 SSL 证书验证失败),网络端口会返回一个 HTML 格式的报错页面 ,而不是插件预期的 JSON 数据

  3. 解析崩溃 :Civitai Helper 或其他插件照旧地把这段 HTML 代码拿去当 JSON 解析,自然读不到第一行的 {,于是抛出 Expecting value...

  4. 误伤友军 :不仅外部请求崩了,连 WebUI 连接自己的 127.0.0.1 也被强制走了加速通道,导致"自己连不上自己"。

3. 终极解决方案:在启动脚本中"硬编码"网络配置

既然让 Python "自动识别系统设置"不可靠,我们就直接在启动脚本里把网络参数写死

这样做有三大好处:

  • 独立性:无论你是否开启 Windows 系统的全局开关,WebUI 都会强制走你指定的稳定通道。

  • 稳定性:显式定义的参数比自动抓取的要稳定得多,杜绝 HTML 报错。

  • 避坑 :配合 NO_PROXY设置参数,彻底解决本地连接 (localhost) 和外部下载的冲突。

操作步骤:

第一步:确认你的加速端口

打开你的加速工具软件,在设置里找到 "本地端口" 或 "HTTP 端口"。

*****

  • (请以你软件实际显示的为准)

第二步:修改 webui-user.bat

  1. 右键点击你的启动脚本 webui-user.bat,选择"编辑"。

  2. call webui.bat 这一行的上面,插入以下代码(请根据你的实际端口修改数字):

    @echo off

    set PYTHON=
    set GIT=
    set VENV_DIR=

    :: ========================================================
    :: 【核心修复代码开始】
    :: 1. 强制指定网络通道端口 (解决 HTML 返回值导致的 JSON 解析错误)
    :: 注意:这里通常都写 http://,即使是 HTTPS_PROXY 也建议写 http://
    set HTTP_PROXY=这里填写
    set HTTPS_PROXY=这里填写

    :: 2. 设置本地白名单 (至关重要!)
    :: 这一行能防止 WebUI 尝试通过网络去连接 localhost,
    :: 彻底解决 "ValueError: When localhost is not accessible" 错误
    set NO_PROXY=127.0.0.1,localhost
    :: 【核心修复代码结束】
    :: ========================================================

    :: 你的启动参数
    set COMMANDLINE_ARGS=--xformers --gradio-queue --disable-nan-check

    call webui.bat

第三步:保存并重启

  1. 保存文件。

  2. 关闭所有正在运行的 WebUI 黑色窗口。

  3. 双击 webui-user.bat 重新启动。

4. 效果验证

改完后,你会发现:

  1. 报错消失:浏览器不再弹红框,后台不再报 JSON 错误。

  2. 下载正常:Civitai Helper 等插件可以正常通过你指定的端口下载模型元数据。

  3. 本地直连 :因为配置了 NO_PROXY参数,生成图片时的本地通信直接走直连,速度快且稳定。

5. 总结

如果你也遇到了删不完的配置文件、修不好的 Expecting value,请立刻检查你的网络环境。不要依赖系统的网络加速设置,直接在 bat 里"硬编码"环境变量,才是 SD WebUI 最稳的运行方式。


(笔记结束)

希望这篇笔记能帮到更多被这个问题折磨的朋友!如果还有其他 SD 相关的问题,随时来问我。

相关推荐
木棉知行者41 分钟前
【第5篇】InceptionNeXT(CVPR2024):融合 Inception 思想与现代 CNN 设计的高效特征提取架构
人工智能·深度学习·计算机视觉·cnn
曲幽41 分钟前
Flask入门实战:轻松掌握模板渲染与静态文件加载
css·python·html·web·js·image·templates·assets
技术支持者python,php43 分钟前
训练分类识别器
人工智能·分类·数据挖掘
DX_水位流量监测44 分钟前
管网液位计的技术特性与工程应用解析
大数据·网络·人工智能·信息可视化·架构
paperxie_xiexuo44 分钟前
从数据到话语:面向期刊知识转化的智能写作协同机制研究
大数据·人工智能·ai写作·期刊论文
ExiFengs1 小时前
使用Java 8函数式编程优雅处理多层嵌套数据
java·开发语言·python
海阔天空_20181 小时前
元祖、列表、集合、字典区别
python
昇腾知识体系1 小时前
vLLM-Ascend双机混部DeepSeek-R1-671B-0528 W8A8量化模型
人工智能
weixin199701080161 小时前
新京报 item_get - 获取详情数据接口对接全攻略:从入门到精通
大数据·人工智能