Open poplite opened 9 years ago
On 10/17/2015 10:46 AM, poplite wrote:
虽然网页和手机端云端解压提示需要会员,但以前的API接口还可以正常使用。可不可以考虑把这功能添加到项目里?(自己写了个patch,不知应不应该发出来)
Reply to this email directly or view it on GitHub: https://github.com/LiuLang/bcloud/issues/195
好的, 我到时候抓一下接口, 可以用的话就加进来.
patch文件:http://paste.ubuntu.com/13020430/ 测试代码:http://paste.ubuntu.com/13020433/
因为我的网盘里没有比较大的压缩包,所以我只测试过几个300M左右的压缩包,不知道代码和API接口有没有bugs。 错误代码可以在这里找:http://s1.pan.bdstatic.com/yun-static/common-cdn/widget/fileUnzip/fileUnzip_4432575.js
On 10/31/2015 01:12 PM, poplite wrote:
这是我的patch: --- pcs.py 2015-10-17 10:43:11.577183723 +0800 +++ pcs_new.py 2015-10-17 10:42:08.153184011 +0800 @@ -1175,4 +1175,73 @@ return json.loads(content.decode()) else: return None + +def unzip_view(cookie,tokens,path,subpath="/",start=0,limit=100):
- '''查看压缩包的文件列表 +
- path - 压缩包的绝对路径(支持2GB以内的rar,zip压缩包)
- subpath - 压缩包内的相对路径,默认是根目录“/”
- start - 从第几个文件开始
- limit - 一次最大列出文件数
- '''
- url = ''.join([
- const.PAN_API_URL,
- 'unzip/list?app_id=250528&channel=chunlei&clienttype=0&web=1',
- '&path=',encoder.encode_uri_component(path),
- '&subpath=',encoder.encode_uri_component(subpath),
- '&start=',str(start),
- '&limit=',str(limit),
- '&bdstoken=', tokens['bdstoken'],
- ])
- req = net.urlopen(url, headers={
- 'Cookie': cookie.header_output(),
- 'Referer': const.SHARE_REFERER,
- })
- if req:
- content = req.data
- return json.loads(content.decode())
- else:
- return None + + +def unzip_download(cookie,path,subpath):
- '''获得压缩包里单独文件的下载链接 +
- path - 压缩包的绝对路径(支持2GB以内的rar,zip压缩包)
- subpath - 需要下载文件的相对路径
- '''
- url = ''.join([
- const.PCS_URL,
- 'file?method=unzipdownload&app_id=250528',
- '&path=',encoder.encode_uri_component(path),
- '&subpath=',encoder.encode_uri_component(subpath),
- ])
- req = net.urlopen_without_redirect(url, headers={'Cookie': cookie.header_output()})
- if req:
- return req.getheader('Location') + +def unzip_extract(cookie,path,topath,subpath="/"):
- '''解压压缩包到指定路径 +
- path - 压缩包的绝对路径(支持2GB以内的rar,zip压缩包)
- subpath - 压缩包内的相对路径,默认是根目录“/”
- topath - 要解压到的绝对路径
- '''
- url = ''.join([
- const.PCS_URL,
- 'file?method=unzipcopy&app_id=250528',
- '&path=',encoder.encode_uri_component(path),
- '&subpath=',encoder.encode_uri_component(subpath),
- '&topath=',encoder.encode_uri_component(topath),
- ])
- req = net.urlopen(url, headers={
- 'Cookie': cookie.header_output(),
- 'Referer': const.SHARE_REFERER,
- })
- if req:
- content = req.data
- return json.loads(content.decode())
- else:
- return None +
因为我的网盘里没有比较大的压缩包,所以我只测试过几个300M左右的压缩包,不知道代码和API接口有没有bugs。
pcs.get_metas(cookie,tokens,"/EAC/[얼티메이트] [150211] TVアニメ「天体のメソッド」キャラソンミニアルバム「約束のメソッド」(FLAC+BK).rar")
{'request_id': 6713500057844109430, 'errno': 0, 'info': [{'local_mtime': 1423767857, 'path': '/EAC/[얼티메이트] [150211] TVアニメ「天 体のメソッド」キャラソンミニアルバム「約束のメソッド」(FLAC+BK).rar', 'dlink': 'http://d.pcs.baidu.com/file/79b0a80c4e0c90dae92683b2 746d0841?fid=1179275238-250528-167511784996088&time=1445051337&rt=pr&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-nSSHCzPgwL3V1f5y18 ghA02x9ME%3d&expires=8h&chkbd=0&chkv=0&dp-logid=6713500057844109430&dp-callid=0&r=660432612', 'category': 6, 'size': 370876160, 'ser ver_mtime': 1443868538, 'server_filename': '[얼티메이트] [150211] TVアニメ「天体のメソッド」キャラソンミニアルバム「約束のメソッド」 (FLAC+BK).rar', 'errno': 0, 'extent_tinyint1': 0, 'local_ctime': 1423767857, 'isdir': 0, 'path_md5': 0, 'extenttinyint2': 0, 'file key': 'B-p2InbI765U79b0a80c4e0c90dae92683b2746d0841', 'md5': '79b0a80c4e0c90dae92683b2746d0841', 'fs_id': 167511784996088, 'extent_t inyint3': 0, 'server_ctime': 1423767859, 'extent_tinyint4': 0, 'extent_int3': 0}]}
pcs.unzip_view(cookie,tokens,"/EAC/[얼티메이트] [150211] TVアニメ「天体のメソッド」キャラソンミニアルバム「約束のメソッド」(FLAC+BK).rar" ,subpath="""/[얼티메이트] [150211] TVアニメ「天体のメソッド」キャラソンミニアルバム「約束のメソッド」(FLAC+BK)/FLAC""")
{'list': [{'isdir': 0, 'size': 7255137, 'file_name': '01. プロローグ ~ノエル~.flac'}, {'isdir': 0, 'size': 32477259, 'file_name': '02. ほんわか日和.flac'}, {'isdir': 0, 'size': 9059832, 'file_name': '03. モノローグ ~こはるから湊太へ~.flac'}, {'isdir': 0, 'size ': 35051013, 'file_name': '04. Brand New Scene.flac'}, {'isdir': 0, 'size': 8667727, 'file_name': '05. モノローグ ~湊太から柚季へ~ .flac'}, {'isdir': 0, 'size': 34928371, 'file_name': '06. Non-Stop Days.flac'}, {'isdir': 0, 'size': 8876454, 'file_name': '07. モノ ローグ ~柚季から乃々香へ~.flac'}, {'isdir': 0, 'size': 36293056, 'file_name': '08. 流星のなみだ.flac'}, {'isdir': 0, 'size': 89153 33, 'file_name': '09. モノローグ ~乃々香から汐音へ~.flac'}, {'isdir': 0, 'size': 38310704, 'file_name': '10. きみの音色.flac'}, {' isdir': 0, 'size': 8127355, 'file_name': '11. モノローグ ~汐音からノエルへ~.flac'}, {'isdir': 0, 'size': 39102312, 'file_name': '1
- にっこり記念日.flac'}, {'isdir': 0, 'size': 8021923, 'file_name': '13. エピローグ ~乃々香~.flac'}], 'errno': 0, 'total': 13}
pcs.unzip_download(cookie,"/EAC/[얼티메이트] [150211] TVアニメ「天体のメソッド」キャラソンミニアルバム「約束のメソッド」(FLAC+BK).rar ",subpath="""/[얼티메이트] [150211] TVアニメ「天体のメソッド」キャラソンミニアルバム「約束のメソッド」(FLAC+BK)/FLAC/12. にっこり記念日.flac""")
'http://nb.bcs.baidu.com/pcsunzipcache-ningbo33/35ad28013d95b8a28ba43dfd7e9e2676?sign=MBOT:wTQwU2s6LoaJ9FV9IP:2Djsq8esT9dPsbY19Vri%2 FLH9%2Fs0%3D&time=1445058677&response-content-disposition=attachment;%20filename=12.%20%E3%81%AB%E3%81%A3%E3%81%93%E3%82%8A%E8%A8%98 %E5%BF%B5%E6%97%A5.flac'
$ wget 'http://nb.bcs.baidu.com/pcsunzipcache-ningbo33/35ad28013d95b8a28ba43dfd7e9e2676?sign=MBOT:wTQwU2s6LoaJ9FV9IP:2Djsq8esT9dPsbY19Vri%2FLH9%2Fs0%3D&time=1445058677&response-content-disposition=attachment;%20filename=12.%20%E3%81%AB%E3%81%A3%E3%81%93%E3%82%8A%E8%A8%98%E5%BF%B5%E6%97%A5.flac' -O "12. にっこり記念日.flac" --2015-10-17 11:13:30-- http://nb.bcs.baidu.com/pcsunzipcache-ningbo33/35ad28013d95b8a28ba43dfd7e9e2676?sign=MBOT:wTQwU2s6LoaJ9FV9IP:2Djsq8esT9dPsbY19Vri%2FLH9%2Fs0%3D&time=1445058677&response-content-disposition=attachment;%20filename=12.%20%E3%81%AB%E3%81%A3%E3%81%93%E3%82%8A%E8%A8%98%E5%BF%B5%E6%97%A5.flac 正在解析主机 nb.bcs.baidu.com (nb.bcs.baidu.com)... 183.131.34.30 正在连接 nb.bcs.baidu.com (nb.bcs.baidu.com)|183.131.34.30|:80... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度: 39102312 (37M) [application/x-www-form-urlencoded] 正在保存至: “12. にっこり記念日.flac”
100%[====================================================================================>] 39,102,312 4.80MB/s 用时 7.4s
2015-10-17 11:13:37 (5.07 MB/s) - 已保存 “12. にっこり記念日.flac” [39102312/39102312])
错误代码可以在这里找:http://s1.pan.bdstatic.com/yun-static/common-cdn/widget/fileUnzip/fileUnzip_4432575.js
Reply to this email directly or view it on GitHub: https://github.com/LiuLang/bcloud/issues/195#issuecomment-152696589
可以的话, 会把这个功能加到正在重构的版本里, 但现在时间不太够用 ;-(
虽然网页和手机端云端解压提示需要会员,但以前的API接口还可以正常使用。可不可以考虑把这功能添加到项目里?(自己写了个patch,不知应不应该发出来)