Skip to content

API 接口详细文档

概述

NFD Parser 提供 RESTful API 接口,支持解析多种网盘分享链接并获取直链。

基础信息

  • Base URL: http://your_host:6400
  • 默认端口: 6400
  • 响应格式: JSON
  • 字符编码: UTF-8

接口认证

目前所有接口均为公开接口,无需认证。

接口列表

1. 文件解析接口

1.1 通用解析接口

接口地址: /parser
请求方法: GET
接口描述: 解析分享链接并自动跳转到下载地址

请求参数:

参数名类型必填描述
urlstring分享链接(建议URL编码)
pwdstring分享密码

响应: 302重定向到下载链接

示例:

GET /parser?url=https%3A//lanzoux.com/ia2cntg
GET /parser?url=https://v2.fangcloud.com/sharing/e5079007dc31226096628870c7&pwd=QAIU

1.2 JSON解析接口

接口地址: /json/parser
请求方法: GET
接口描述: 解析分享链接并返回JSON格式的直链信息

请求参数:

参数名类型必填描述
urlstring分享链接
pwdstring分享密码

响应参数:

参数名类型描述
codenumber状态码,200为成功
msgstring响应消息
successboolean是否成功
dataobject解析结果数据
data.shareKeystring全局分享key
data.directLinkstring下载直链
data.cacheHitboolean是否为缓存链接
data.expiresstring缓存到期时间
data.expirationnumber到期时间戳
timestampnumber响应时间戳

示例:

GET /json/parser?url=https://lanzoux.com/ia2cntg

2. 短链接口

2.1 短链跳转

接口地址: /d/{panType}/{shareKey}[@password]
请求方法: GET
接口描述: 使用网盘标识和分享key的短链格式直接跳转下载

路径参数:

参数名类型必填描述
panTypestring网盘标识(如lz、cow、fc等)
shareKeystring分享key
passwordstring分享密码(用@连接)

响应: 302重定向到下载链接

示例:

GET /d/lz/ia2cntg
GET /d/fc/e5079007dc31226096628870c7@QAIU

2.2 短链JSON

接口地址: /json/{panType}/{shareKey}[@password]
请求方法: GET
接口描述: 使用短链格式返回JSON解析结果

参数: 同短链跳转接口

响应: 同JSON解析接口

示例:

GET /json/lz/ia2cntg
GET /json/fc/e5079007dc31226096628870c7@QAIU

3. 文件夹解析接口

3.1 获取文件列表 (v1)

接口地址: /json/getFileList
请求方法: GET
接口描述: 解析文件夹分享链接,获取文件列表(仅支持蓝奏云/蓝奏优享/小飞机网盘)

请求参数:

参数名类型必填描述
urlstring文件夹分享链接
pwdstring分享密码

3.2 获取文件列表 (v2)

接口地址: /v2/getFileList
请求方法: GET
接口描述: 获取文件夹列表(v2版本)

响应参数:

参数名类型描述
codenumber状态码
msgstring响应消息
successboolean是否成功
dataarray文件列表
data[].fileNamestring文件名
data[].fileIdstring文件ID
data[].sizenumber文件大小(字节)
data[].sizeStrstring文件大小(格式化)
data[].fileTypestring文件类型(file/folder)
data[].createTimestring创建时间
data[].downloadCountnumber下载次数
data[].panTypestring网盘类型
data[].parserUrlstring解析URL

4. 信息查询接口

4.1 分享链接详情

接口地址: /v2/linkInfo
请求方法: GET
接口描述: 获取分享链接的详细信息和统计数据

请求参数:

参数名类型必填描述
urlstring分享链接

响应参数:

参数名类型描述
codenumber状态码
msgstring响应消息
successboolean是否成功
dataobject链接信息
data.downLinkstring下载短链
data.apiLinkstringAPI短链
data.cacheHitTotalnumber缓存命中总数
data.parserTotalnumber解析总数
data.sumTotalnumber总计数
data.shareLinkInfoobject分享链接详情

4.2 统计信息

接口地址: /v2/statisticsInfo
请求方法: GET
接口描述: 获取系统解析统计信息

响应参数:

参数名类型描述
codenumber状态码
msgstring响应消息
successboolean是否成功
dataobject统计数据
data.parserTotalnumber解析总数
data.cacheTotalnumber缓存总数
data.totalnumber总计

错误码说明

错误码描述
200成功
400请求参数错误
404资源未找到
500服务器内部错误

网盘标识对照表

网盘名称标识
蓝奏云lz
蓝奏云优享iz
奶牛快传cow
移动云云空间ec
小飞机网盘fj
亿方云fc
123云盘ye
文叔叔ws
联想乐云le
QQ邮箱文件中转站qq
城通网盘ct
网易云音乐mnes
酷狗音乐mkgs
酷我音乐mkws
QQ音乐mqqs
Cloudrevece
超星云盘pcx
Google云盘pgd
Onedrivepod
Dropboxpdp
iCloudpic

使用限制

  1. 请求频率: 建议不要过于频繁请求,避免IP被封
  2. 文件大小: 部分网盘对大文件有限制
  3. 登录要求: 某些网盘的大文件需要登录
  4. 地域限制: 部分网盘对IP有地域限制

SDK 示例

JavaScript/Node.js

javascript
class NFDParser {
    constructor(baseUrl = 'http://localhost:6400') {
        this.baseUrl = baseUrl;
    }
    
    async parseLink(shareUrl, password = '') {
        const params = new URLSearchParams({ url: shareUrl });
        if (password) params.append('pwd', password);
        
        const response = await fetch(`${this.baseUrl}/json/parser?${params}`);
        return await response.json();
    }
    
    async getFileList(shareUrl, password = '') {
        const params = new URLSearchParams({ url: shareUrl });
        if (password) params.append('pwd', password);
        
        const response = await fetch(`${this.baseUrl}/v2/getFileList?${params}`);
        return await response.json();
    }
    
    async getStatistics() {
        const response = await fetch(`${this.baseUrl}/v2/statisticsInfo`);
        return await response.json();
    }
}

Python

python
import requests
from urllib.parse import urlencode

class NFDParser:
    def __init__(self, base_url='http://localhost:6400'):
        self.base_url = base_url
    
    def parse_link(self, share_url, password=''):
        params = {'url': share_url}
        if password:
            params['pwd'] = password
        
        response = requests.get(f'{self.base_url}/json/parser', params=params)
        return response.json()
    
    def get_file_list(self, share_url, password=''):
        params = {'url': share_url}
        if password:
            params['pwd'] = password
        
        response = requests.get(f'{self.base_url}/v2/getFileList', params=params)
        return response.json()
    
    def get_statistics(self):
        response = requests.get(f'{self.base_url}/v2/statisticsInfo')
        return response.json()

注意事项

  1. 建议对分享链接进行URL编码
  2. 密码参数为可选,无密码时不传该参数
  3. 某些网盘需要特定的请求头(如奶牛快传需要Referer)
  4. 解析结果可能有缓存,注意expires字段
  5. 移动云空间的分享key取分享链接中的data参数