# 漫阅+ OPDS相对链接核对：先找基址，再判断获取地址指向哪里

语言：zh-CN
原文：[漫阅+ OPDS相对链接核对：先找基址，再判断获取地址指向哪里](<https://allluckly.cn/guides/manyue-opds-relative-link-base-resolution/>)
中文：[中文 HTML](<https://allluckly.cn/guides/manyue-opds-relative-link-base-resolution/>)
English: [English HTML](<https://allluckly.cn/en/guides/manyue-opds-relative-link-base-resolution/>)
发布于: 2026-11-10T00:00:00+08:00
内容更新于: 2026-11-10T00:00:00+08:00
署名：Bison

用同目录、上一级和根路径三个原创地址核对解析结果，保留xml:base及重定向条件，区别链接角色和实际目标。

OPDS条目写着获取正文，地址却可能不是完整网址。本篇在已获授权的小书库中核对相对链接的基址与解析结果，与封面、预览、正文的角色区分互补。这里只做人工地址证据，不要求漫阅提供链接调试器，也不把规范示例说成自己服务器的实际路径。

## 固定取得订阅内容的实际地址

记录书库代号、账号角色、查询时间和取得当前订阅文件的地址，私人域名可在分享时换成保留层级的示例。不要只抄最初添加的首页，因为目录跳转或重定向后，实际承载条目的文档可能在另一层路径。若使用现有可信工具查看原始订阅，保存它实际取得的最终文档地址；拿不到就写基址证据未全。浏览器展示页面的标题不是地址证据，应用条目显示书名也不能推导服务器把文件放在哪个目录。先把未知项留出来。

## 抄完整链接并标明角色

对目标条目记录标识、标题、link的href、rel和type，若看不到某字段就留未显示。先确认这项是正文获取、样本还是图像入口，不因href末尾像CBZ就跳过角色核对。相对路径解析解决它指向哪，不解决它是否应当用于下载全文。查询参数与片段也按原样保留，但共享前清除凭证并说明已脱敏。不要把多个条目相同的文件末尾名称当同一文件，完整地址与条目上下文共同决定当前候选身份。

## 先检查明确指定的基址

OPDS基于Atom等相关规则，原文若有适用的xml:base，要连同作用层级保存，不能一律用服务器根域拼接。若没有明确基址，仍需按取得该文档的地址和规范规则解析，不能凭记忆猜最初订阅路径。嵌套基址也可能是相对形式，需逐层理解而不是只看最近一段文字。当前工具没有显示这些资料时，不宣布服务器错误，先登记尚不能核定。本文后面三个算例都明确假设没有额外xml:base，避免把简化条件偷偷套到所有书库。

## 同目录链接不保留文档文件名

原创示例把文档地址定为https://library.example/catalog/series/feed.xml，href是chapter.cbz，解析得到https://library.example/catalog/series/chapter.cbz。不是在feed.xml后再加一个斜线目录，也不是直接放到网站根目录。先把基址的最后文档段与所在目录分开，再核对结果。这些保留域名是示例，不提供可下载作品。若实际基址以目录斜线结束，其末段角色不同，必须按真实地址重算，不能为了得到预期文件而自行增删斜线。

## 上级路径与根路径分别计算

在同一基址下，href为../files/chapter.cbz时，结果是https://library.example/catalog/files/chapter.cbz；href为/files/chapter.cbz时，则是https://library.example/files/chapter.cbz。前者退回series的上一级后找files，后者从该站根路径开始，两者不是等价简写。逐段抄解析过程，不能把所有点点斜线都直接删掉再拼接。若出现不同主机名的完整链接，应另核授权与身份，不把原站登录信息随意复制到新站。

## 回应用验证目标而不只验算字符串

在漫阅打开同一条目，用实际可见入口尝试获取已知小样本，记录标题、来源、文件类型与第一页角标，再核末页。地址算得通不证明服务器存在该资源，HTTP成功也可能返回说明或登录内容，仍需检查取得的实际文件。不要为了验证把别人作品下载到公开目录，更不修改正式服务器文件。若应用报错，保留当前文字、时间和条目标识；外部工具能取到与应用能读是两项结果，不借其中一项替另一项背书。

## 排查重定向与层级变化

原本能用后来失败时，先比较当前文档最终地址、xml:base与href是否变化，再看正文目标是否仍对应同一条目。反向代理迁移到子路径后，根相对链接可能绕过子路径，不能只说账号错了。若有管理员提供脱敏资料，把期望地址和实际取得目标并列，不改原订阅来掩盖服务端配置。只在自有测试副本验证修改，正式更新交给有权限的人。查询参数的鉴权有效期也可能另有条件，未拿到证据时标待核，不能从一次失败推断所有相对链接都不受支持。

## 退出返回后检查条目到文件的链条

退出阅读器再返回目标条目与已取得样本，重查来源、版本、第一页和末页锚点。最终保存文档地址、基址条件、原href、链接角色、解析目标和实际结果六栏，并注明示例计算与自己服务器观察的区别。完成标准是任何一个目标都能说明从哪份订阅、哪条链接解析而来，不是保证规范链接永远有效。分享记录时保留结构而去除私人凭证；没有原始基址证据的部分继续留未知，不把猜到的完整网址当正式修复。

## 相关教程与资料

[漫阅+ OPDS链接核对：封面、预览与正文获取不是同一个入口](<https://allluckly.cn/guides/manyue-opds-cover-sample-acquisition-links/>)、[漫阅+ WebDAV特殊文件名核对：空格井号与链接路径分开读](<https://allluckly.cn/guides/manyue-webdav-filename-uri-component/>)。

资料核对：2026 年 11 月 10 日，[Apple 公开版本查询](<https://itunes.apple.com/lookup?id=6753895889&country=cn&entity=software&timestamp=20261110>)显示漫阅+ 2.0.5，最低 iOS / iPadOS 15.0；能力说明参见[官方 App Store](<https://apps.apple.com/cn/app/id6753895889>)，具体入口仍需以安装版本实际可见为准。

方法依据：[OPDS1.2：链接与相对引用基址](<https://specs.opds.io/opds-1.2>)。数字、短句与对照为原创练习，资料用于说明概念，不证明应用提供自动识别或批改。人工笔记可保存在外部；本文未声称已用真机或私人服务器逐项实测，无法确认的内容应保留待核。

