又见 31045?BaiduPCS-Go 错误码分步排错指南
【免费下载链接】BaiduPCS-Goiikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能项目地址: https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go
BaiduPCS-Go 是一个用命令行管理百度网盘的客户端,支持文件传输、秒传与分享链接转存。卡住你的往往不是功能,而是屏幕上那串 BaiduPCS-Go 错误码。这篇指南帮你在几分钟内读懂报错并动手解决。
30秒看懂你的报错
所有报错的格式都长这样:先说正在做哪个操作,再给出错误类型标识,然后是代码和消息。你只需要先认出那个类型标识,就知道该往哪个方向查:
| 报错里看到 | 通常意味着 | 你该做什么 |
|---|---|---|
json 数据解析失败(JSON parse error) | 服务器回的内容不是工具预期的格式 | 多半是接口变动或响应异常,先重试一次,不行再看版本是否过旧 |
network error(网络错误) | 连接没打通 | 检查本机网络、代理配置,确认能访问百度相关站点 |
remote error(远端服务器返回错误) | 请求送达了,但百度拒绝了 | 这是最常见的一类,直接拿代码去下面速查表里对号入座 |
内部错误(internal error) | 工具自身逻辑出了问题 | 记录完整输出,升级版本后重试,仍复现则提交 issue |
高频错误码速查:0、31045、31061、31066、31079
日常使用中九成以上的问题,都落在这 5 个代码里:
| 代码 | 意味着什么 | 一步解决 |
|---|---|---|
| 0 | 操作成功 | 无需处理 |
| 31045 | 用户不存在,基本是登录态过期了 | 执行BaiduPCS-Go login重新登录 |
| 31061 | 目标位置已有同名文件 | 换个文件名,或确认后用覆盖方式重传 |
| 31066 | 文件或目录不存在 | 用 ls 确认路径拼写无误,别把相对路径写成绝对路径 |
| 31079 | 秒传失败,服务器没找到对应文件的指纹 | 改用普通上传方式传整个文件 |
两个最常碰到的错误,分步排掉
31045 重新登录解决步骤
报错现场:
操作: list file, 遇到错误, 远端服务器返回错误, 代码: 31045, 消息: 操作失败, 可能百度帐号登录状态过期, 请尝试重新登录原因:你的登录凭证在服务器端已经失效,工具拿着旧凭证去请求,自然被当成"用户不存在"。
解决命令:
BaiduPCS-Go login按提示完成扫码或账密验证,再重跑刚才失败的命令即可。
31079 秒传失败的绕行办法
报错现场:
操作: rapid upload, 遇到错误, 远端服务器返回错误, 代码: 31079, 消息: 秒传文件失败原因:秒传依赖文件指纹(MD5)在服务器上已存在。指纹对不上时,秒传通道直接走不通,源码里对 31079 的注释也明确写着此时应改用完整上传。
解决命令:
BaiduPCS-Go upload ./本地文件 /远端目录/普通上传会真实传输文件,慢一点但必定成功。
源码里,错误长什么样
想深入一层的话,整个错误体系都集中在 pcserror包,只有 4 个关键文件,分工很清晰:
- pcserror.go:定义 5 种错误类型(内部错误、远端服务器错误、网络错误、JSON 解析错误、其他错误)和统一的 Error 接口,是所有错误的"总纲"。
- xpanerrorinfo.go:网盘网页 API 的错误处理,含
FindXPanErr判定逻辑。 - pcserrorinfo.go:PCS 服务错误,速查表里那批 31xxx 代码就是在这里的
findPCSErr中逐一翻译成中文的。 - dlinkerrinfo.go:下载直链(dlink)相关错误。
读 XPanErrorInfo 和 PCSErrorInfo 时,盯住 3 个字段就够了:Operation(正在做哪个操作)、ErrType(错误属于哪一类)、ErrNo/ErrCode(远端返回的具体编号)。尤其注意成功判定:网页 API 只有当errno为 0 且return_type为 2 时才算真正成功,单看其中一个字段会误判。
提交 issue 之前,先做 3 个自查
动手写 issue 前花一分钟过一遍这份清单,能省掉大多数来回沟通:
- 登录态还有效吗?先
BaiduPCS-Go account确认当前账号,不行就BaiduPCS-Go login重登。 - 网络和代理通吗?确认本机(或代理)能正常打开百度相关网页,排除超时类干扰。
- 操作路径对吗?确认要操作的远程路径真实存在,本地文件确实放在你说的位置。
三项都排查完仍复现,把完整报错输出贴进 issue,会更容易得到帮助。
上手
如果还没装过工具,克隆仓库即可开始:
git clone https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go之后配合 README.md 里的安装与命令说明跑起来;下次再遇到陌生错误码,回到"先看类型、再查代码、最后动源码"这条线,基本都能自己解决。
【免费下载链接】BaiduPCS-Goiikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能项目地址: https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考