离线下载种子文件

STEP 1. 上传种子文件

  • 上传种子文件接口、流程均与上传普通文件一致。
  • 获取token的时候指定parent为 :torrent 可以将文件传到系统默认的种子文件夹。

示例:

1.1 获取上传token和上传url POST /v1/store/token

  • 请求地址 /v1/store/token POST
  • 请求方式 JSON/Http POST
  • 请求参数
参数 类型 描述
* name string 文件名
* hash string 文件哈希. 如果文件存在则自动创建文件
* parent string 上传的父路径的uuid(可选). 默认为根目录(‘’)
* path string 上传路径(可选) 默认为根目录(‘’),建议默认指定为 :torrent
  • 返回参数
参数 Type Description
uploadUrl string 上传地址
type int 上传的类型
token string the upload token of the file
version int 上传token的版本号

服务器返回:

  1. {
  2. "status": 200,
  3. "result": {
  4. "userId": 1,
  5. "token": "0a3836b4ef298e7dc9fc5da291252fc4ac3e0c7f:Zjk2YWUzYTc4NWM1MWM1ZjllYjVmYmNiM2Q4MWYwMTAyZGIzYjk0ZA==:eyJzY29wZSI6Im90aGVyLXN0b3JhZ2UiLCJkZWFkbGluZSI6IjE1MTczNzMzNDM4OTEiLCJvdmVyd3JpdGUiOjEsImZzaXplTGltaXQiOjAsImNhbGxiYWNrVXJsIjoiaHR0cDovL2FwaS5ibG9nMTIwLmNvbS92MS9jYWxsYmFjay93cy9wb3N0IiwiY2FsbGJhY2tCb2R5Ijoic2l6ZT0kKGZzaXplKSZoYXNoPSQoaGFzaCkma2V5PSQoa2V5KSZtaW1lVHlwZT0kKG1pbWVUeXBlKSZpcD0kKGlwKSZhdmluZm89JChhdmluZm8pJmJ1Y2tldD0kKGJ1Y2tldCkmdXJsPUBxenl1cmxzdGFydCQodXJsKUBxenl1cmxlbmQmdXNlcklkPTEmZmlsZU5hbWU9QHF6eWZpbGVzdGFydCQoZm5hbWUpQHF6eWZpbGVlbmQiLCJzYXZlS2V5IjoidXNlci11cGxvYWQvLzIwMTgwMTMwLzExNTE3Mjg2OTQzODkyLnRtcCJ9",
  6. "type": 0,
  7. "uploadUrl": "http://xxx.xxx.com/file/upload",
  8. "version": 1
  9. },
  10. "code": "OK",
  11. "success": true,
  12. "token": "..."
  13. }

result 字段下 token 为上传所需token

秒传功能

当传入了文件的hash的时候,即表示开启秒传功能。 如果服务器上文件不存在,则正常返回上传token。如果服务器上文件存在,则返回新创建的文件信息,如:

post /v1/store/token:

  1. {
  2. "path":":torrent",
  3. "hash":"lgYD1AjrK5Daxq-Dt0qemSPKdNbh",
  4. "name":"幸运星.torrent"
  5. }

服务器返回:

  1. {
  2. "status": 200,
  3. "result": {
  4. "uuid": "0233a0a43b594fab8890b2f8359595bd",
  5. "storeId": "lgYD1AjrK5Daxq-Dt0qemSPKdNbh",
  6. "userId": 5,
  7. "pathId": "f2624b13bfdce9efbc842bd30f764e69",
  8. "lft": 6,
  9. "rgt": 7,
  10. "path": ":torrent",
  11. "name": "幸运星.torrent",
  12. "ext": ".torrent",
  13. "size": 5458017,
  14. "parent": "06f14e9508a44fc8993fa97faebc55e0",
  15. "type": 0,
  16. "atime": 1532794215590,
  17. "ctime": 1532794215590,
  18. "mtime": 0,
  19. "version": 0,
  20. "locking": false
  21. },
  22. "code": "OK",
  23. "success": true,
  24. "token": "..."
  25. }

如果文件不存在,使用token字段上传文件:

参阅网宿相关文档完成上传。

无论是秒传还是网宿上传,均能获取到文件 uuid。如果是使用网宿云存储上传的

能获取到如下返回:

  1. {
  2. "hash": "FjwX_Wre8mgCuhJ0SNFe-JNXl0pL",
  3. "response": "{\"status\":200,\"result\":{\"uuid\":\"3e33a14cb19e40583b67369af3cb2d37\",\"storeId\":\"FjwX_Wre8mgCuhJ0SNFe-JNXl0pL\",\"userId\":5,\"size\":139885,\"parent\":\"146\",\"mime\":\"application/x-bittorrent\",\"type\":0,\"atime\":1519707239269,\"mtime\":1519707239269,\"ctime\":1519707239269,\"alias\":\"\",\"name\":\"【华盟字幕社&元古I.G部落】Lucky☆Star幸运星.rename.161d59c33d9.torrent\",\"ext\":\"\",\"preview\":\"2\",\"flag\":0,\"recycle\":0},\"code\":\"OK\",\"success\":true}"
  4. }

二次解析response字段,获取 uuid。

STEP 2. 预解析种子文件

  • 种子文件内容需要预解析才能确定。 POST /v1/offline/parseTorrent
    1. {
    2. "uuid":"3e33a14cb19e40583b67369af3cb2d37"
    3. }
    或者
    1. {
    2. "path":":torrent/a.torrent"
    3. }
    1. 收到服务器回复:
    2. ```json
    3. {
    4. "status": 200,
    5. "result": {
    6. "taskHash": "ZXlKcGJtWnZTR0Z6YUNJNkltTmlNVGhoTjJNelltVmxaREJqWmpjeU4yWm1Nek01WVdObVl6Vm1OREl6Tnpsak56ZzNZV1lpTENKdVlXMWxJam9pWTJJeE9HRTNZek5pWldWa01HTm1OekkzWm1Zek16bGhZMlpqTldZME1qTTNPV00zT0RkaFppSXNJblJoYzJ0SlpDSTZJbU5pTVRoaE4yTXpZbVZsWkRCalpqY3lOMlptTXpNNVlXTm1ZelZtTkRJek56bGpOemczWVdZaUxDSjBlWEJsSWpvek1Dd2lkWEpzSWpvaWJXRm5ibVYwT2o5NGREMTFjbTQ2WW5ScGFEcGpZakU0WVRkak0ySmxaV1F3WTJZM01qZG1aak16T1dGalptTTFaalF5TXpjNVl6YzROMkZtSW4wLi5xenktc3AtdG9rZW5ANmNzOTJkLXRva2VuLjY0ZDBiZTIxMDdjNTBhNzJkNDUzNmUyZjA4NGYzMzMw",
    7. "name": "Deadpool.2.2018.Super.Duper.Cut.UNRATED.1080p.BluRay.x264.DTS-HD.MA.7.1-HDC",
    8. "server": false,
    9. "files": [
    10. {
    11. "path": "/Deadpool.2.2018.Super.Duper.Cut.UNRATED.1080p.BluRay.x264.DTS-HD.MA.7.1-HDC/Deadpool.2.2018.Super.Duper.Cut.UNRATED.1080p.BluRay.x264.DTS-HD.MA.7.1-HDC.mkv",
    12. "size": 20928909499,
    13. "order": 1
    14. },
    15. {
    16. "path": "/Deadpool.2.2018.Super.Duper.Cut.UNRATED.1080p.BluRay.x264.DTS-HD.MA.7.1-HDC/English.srt",
    17. "size": 149634,
    18. "order": 2
    19. },
    20. {
    21. "path": "/Deadpool.2.2018.Super.Duper.Cut.UNRATED.1080p.BluRay.x264.DTS-HD.MA.7.1-HDC/RARBG.txt",
    22. "size": 31,
    23. "order": 3
    24. }
    25. ]
    26. },
    27. "code": "OK",
    28. "success": true,
    29. "token": "..."
    30. }

    STEP3. 发起下载请求

    POST /v1/offline/start ```json { “taskHash”:”ZXlKcGJtWnZTR0Z6YUNJNkltTmlNVGhoTjJNelltVmxaREJqWmpjeU4yWm1Nek01WVdObVl6Vm1OREl6Tnpsak56ZzNZV1lpTENKdVlXMWxJam9pWTJJeE9HRTNZek5pWldWa01HTm1OekkzWm1Zek16bGhZMlpqTldZME1qTTNPV00zT0RkaFppSXNJblJoYzJ0SlpDSTZJbU5pTVRoaE4yTXpZbVZsWkRCalpqY3lOMlptTXpNNVlXTm1ZelZtTkRJek56bGpOemczWVdZaUxDSjBlWEJsSWpvek1Dd2lkWEpzSWpvaWJXRm5ibVYwT2o5NGREMTFjbTQ2WW5ScGFEcGpZakU0WVRkak0ySmxaV1F3WTJZM01qZG1aak16T1dGalptTTFaalF5TXpjNVl6YzROMkZtSW4wLi5xenktc3AtdG9rZW5ANmNzOTJkLXRva2VuLjY0ZDBiZTIxMDdjNTBhNzJkNDUzNmUyZjA4NGYzMzMw”, “copyFile”:[1,2], “savePath”:”/download/movie” }

收到

  1. {
  2. "status": 200,
  3. "result": {
  4. "userId": 5,
  5. "taskId": "cb18a7c3beed0cf727ff339acfc5f42379c787af",
  6. "copyFile": "",
  7. "copiedFile": "1,2",
  8. "createTime": 1533833699329,
  9. "savePath": "/download/movie",
  10. "filePath": "",
  11. "copied": 0
  12. },
  13. "code": "OK",
  14. "success": true,
  15. "token": "..."
  16. }