pan

package
v0.0.0-...-ff5012c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 13, 2022 License: GPL-3.0 Imports: 14 Imported by: 0

Documentation

Overview

Package pan 百度网盘提取分享文件的下载链接

Index

Constants

View Source
const (
	// BDKey 百度 HMAC-SHA1 密钥
	BDKey = "B8ec24caf34ef7227c66767d29ffd3fb"
)

Variables

View Source
var (
	// ErrSharedInfoNotInit 未初始化分享信息
	ErrSharedInfoNotInit = errors.New("未初始化分享信息")
	// ErrSharedInfoNotSetSharedURL 未设置分享链接
	ErrSharedInfoNotSetSharedURL = errors.New("未设置分享链接")
)
View Source
var (
	// YunDataExp 解析网盘分享首页的数据的正则表达式
	YunDataExp = regexp.MustCompile(`window\.yunData[\s]?=[\s]?(.*?);`)
)

Functions

func MustParseInt

func MustParseInt(s string) (i int)

MustParseInt 将字符串转换为 int, 忽略错误

func MustParseInt64

func MustParseInt64(s string) (i int64)

MustParseInt64 将字符串转换为 int64, 忽略错误

Types

type FileDirectory

type FileDirectory struct {
	FsID     int64  `json:"fs_id"`           // fs_id
	Path     string `json:"path"`            // 路径
	Filename string `json:"server_filename"` // 文件名 或 目录名
	Ctime    int64  `json:"server_ctime"`    // 创建日期
	Mtime    int64  `json:"server_mtime"`    // 修改日期
	MD5      string `json:"md5"`             // md5 值
	Size     int64  `json:"size"`            // 文件大小 (目录为0)
	Isdir    int    `json:"isdir"`           // 是否为目录
	Dlink    string `json:"dlink"`           //下载直链
}

FileDirectory 文件和目录的信息

type RemoteErrInfo

type RemoteErrInfo struct {
	ErrNo  int    `json:"errno"`
	ErrMsg string `json:"err_msg"`
}

RemoteErrInfo 错误详情

func (*RemoteErrInfo) Error

func (rei *RemoteErrInfo) Error() string

func (*RemoteErrInfo) ParseErrMsg

func (rei *RemoteErrInfo) ParseErrMsg()

ParseErrMsg 根据 ErrNo, 解析网盘错误信息

type SharedInfo

type SharedInfo struct {
	SharedURL string

	UK            int64  `json:"uk"`            // 百度网盘用户id
	ShareID       int64  `json:"shareid"`       // 分享id
	RootSharePath string `json:"rootSharePath"` // 分享的目录, 基于分享者的网盘根目录

	Timestamp int64  // unix 时间戳
	Sign      []byte // 签名

	Client *requester.HTTPClient
}

SharedInfo 百度网盘文件分享页信息

func NewSharedInfo

func NewSharedInfo(sharedURL string) (si *SharedInfo)

NewSharedInfo 解析百度网盘文件分享页信息, sharedURL 分享链接

func (*SharedInfo) Auth

func (si *SharedInfo) Auth(passwd string) error

Auth 验证提取码 passwd 提取码, 没有则留空

func (*SharedInfo) InitInfo

func (si *SharedInfo) InitInfo() error

InitInfo 获取 UK, ShareID, RootSharePath 如果有提取码, 先需进行验证

func (*SharedInfo) List

func (si *SharedInfo) List(subDir string) (fds []*FileDirectory, err error)

List 获取文件列表, subDir 为相对于分享目录的目录

func (*SharedInfo) Meta

func (si *SharedInfo) Meta(filePath string) (fd *FileDirectory, err error)

Meta 获取文件/目录元信息, filePath 为相对于分享目录的目录

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL