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

如何将Python程序关联浏览器nxm下载链接并获取传入链接信息

nxm协议对接Python模组管理器实现方案

协议注册配置注意事项

你已经掌握注册表关联方法,注意关联时的command项默认值必须携带参数占位符,否则程序启动后拿不到链接内容,正确配置格式如下:

  • 直接运行py脚本的配置:"Python解释器绝对路径" "你的项目入口脚本绝对路径" "%1"
  • 打包为exe后的配置:"打包后exe文件绝对路径" "%1"

上述配置中的%1是Windows系统的参数占位符,会被自动替换为用户点击的完整nxm链接,作为启动参数传入程序。所有路径必须包裹双引号,避免路径含空格时启动失败。

链接获取方法

不需要依赖任何第三方模块,nxm链接会作为命令行参数传入Python程序,直接通过标准库sys获取即可,基础示例代码:

import sys

# 程序入口
if len(sys.argv) > 1:
    launch_param = sys.argv[1]
    if launch_param.startswith("nxm://"):
        # 此处为nxm链接唤起的逻辑分支
        full_nxm_link = launch_param
    else:
        # 处理其他启动参数,或走正常手动启动逻辑
        pass
else:
    # 无启动参数,为用户手动打开程序
    pass

链接解析为可调用对象

nxm链接遵循标准URL格式,直接用Python标准库urllib.parse即可拆解为结构化对象,无需额外安装依赖。
标准nxm链接格式参考:nxm://<游戏标识>/mods/<模组ID>/files/<文件ID>?key=<下载校验码>&expires=<参数过期时间>&user_id=<Nexus用户ID>
解析代码示例:

from urllib.parse import urlparse, parse_qs

def nxm_to_dict(nxm_link: str) -> dict:
    parse_result = urlparse(nxm_link)
    if parse_result.scheme != "nxm":
        raise ValueError("传入参数不是合法nxm协议链接")
    # 拆分路径段
    path_segments = [seg for seg in parse_result.path.split("/") if seg]
    # 组装为业务可直接调用的结构化数据
    mod_info = {
        "game_code": parse_result.netloc,  # 对应Nexus站点的游戏域名,比如skyrimspecialedition
        "mod_id": int(path_segments[1]) if len(path_segments)>=2 and path_segments[0] == "mods" else None,
        "file_id": int(path_segments[3]) if len(path_segments)>=4 and path_segments[2] == "files" else None,
        "auth_params": {k: v[0] for k, v in parse_qs(parse_result.query).items()}
    }
    return mod_info

调用该方法传入获取到的原始nxm链接,返回的字典即可直接供后续下载、校验等业务逻辑使用,auth_params中携带的key、过期时间等参数可直接拼接进Nexus的下载请求头/请求参数中完成鉴权。

常见问题说明

  • 若使用PyInstaller等工具将程序打包为单exe,上述参数获取、解析逻辑完全不需要修改,注册表仅需对应改成exe路径即可
  • 首次点击nxm链接时浏览器会弹出唤起确认,勾选始终允许当前程序处理nxm协议后即可自动唤起
  • 不存在专门处理nxm协议的特殊Python模块,本质是自定义URL Scheme传参,所有逻辑用标准库即可实现

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 19:42:22