115driver
Example
package main
import (
"github.com/SheltonZhu/115driver/pkg/driver"
"log"
)
func main() {
cr := &driver.Credential{
UID: "xxx",
CID: "xxx",
SEID: "xxx",
}
// or err := cr.FromCookie(cookieStr)
client = driver.Defalut().ImportCredential(cr)
if err := driver.LoginCheck(); err != nil {
log.Fatalf("login error: %s", err)
}
}
More examples can be found in reference.
Features
- Login
- Import credential from cookies
- Login via QRCode
- Get signed-in user information
- File
- List
- Rename
- Move
- Copy
- Delete
- Make Directory
- Download
- Upload SHA1
- Upload
- Search
- Get Information by ID
- Stat File
(driver.Pan115Client).List 问题
简述
在alist里浏览,发现一个有10000个文件的目录,alist里只显示1872个文件。
复现
在一个空目录下,创建(上传)10000个文件。
直接执行
go run main.go
的话,会出现错误:可能是每一次请求都添加了一次cookie?
定位在
pkg/driver/dir.go
的35
行。另外,这个break判断觉得可以改进一下(目前,假设总数10000,分页是2000,那最后2000就丢了):
其他
看到默认的分页大小是
56
,似乎小了一些。 115表面上最大支持1150,不过其实更大也行,比如官方的加载全部,就是limit=count的,也能请求成功。Fix GetFiles
ApiFileListByName
数据异常问题(如缺失、重复、多出),暂时未找到解决方法,可以考虑放弃该接口;ApiFileList
,默认排序FileOrderByTime
,natsort=1
参数可能会导致请求出错,所以移除了该参数。另外有个小建议,可以考虑增大
limit
的数值,减少请求和提高响应速度。