Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
CDNDrive
提交
2cbb8bfb
C
CDNDrive
项目概览
OpenDocCN
/
CDNDrive
通知
12
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
CDNDrive
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
2cbb8bfb
编写于
4月 10, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
适配网易
上级
1321c082
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
89 addition
and
0 deletion
+89
-0
CDNDrive/drivers/NeteApi.py
CDNDrive/drivers/NeteApi.py
+89
-0
未找到文件。
CDNDrive/drivers/NeteApi.py
0 → 100644
浏览文件 @
2cbb8bfb
# coding: utf-8
import
sys
import
base64
import
hashlib
import
random
import
requests
import
rsa
import
time
import
re
from
urllib
import
parse
from
CDNDrive.util
import
*
class
NeteApi
:
default_hdrs
=
{
'User-Agent'
:
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
}
default_url
=
lambda
self
,
hash
:
f
"http://dingyue.ws.126.net/
{
hash
}
.png"
extract_hash
=
lambda
self
,
s
:
re
.
findall
(
r
"\d{4}/\d{4}/\w{32}"
,
s
)[
0
]
def
__init__
(
self
):
self
.
cookies
=
load_cookies
(
'163'
)
def
meta2real
(
self
,
url
):
if
re
.
match
(
r
"^shdrive://\d{4}/\d{4}/\w{32}$"
,
url
):
return
self
.
default_url
(
self
.
extract_hash
(
url
))
else
:
return
None
def
real2meta
(
self
,
url
):
return
'nedrive://'
+
self
.
extract_hash
(
url
)
def
login
(
self
,
un
,
pw
):
return
{
'code'
:
114514
,
'message'
:
'功能尚未实现,请使用 Cookie 登录'
}
def
set_cookies
(
self
,
cookie_str
):
self
.
cookies
=
parse_cookies
(
cookie_str
)
save_cookies
(
'163'
,
self
.
cookies
)
def
get_user_info
(
self
,
fmt
=
True
):
return
'获取用户信息功能尚未实现'
def
image_upload
(
self
,
img
):
url
=
'http://upload.buzz.163.com/picupload'
data
=
{
'from'
:
'neteasecode_mp'
}
files
=
{
'file'
:
(
f
"
{
time
.
time
()
}
.png"
,
img
,
'image/png'
)}
try
:
j
=
request_retry
(
'POST'
,
url
,
data
=
data
,
files
=
files
,
headers
=
NeteApi
.
default_hdrs
,
cookies
=
self
.
cookies
).
json
()
except
Exception
as
ex
:
return
{
'code'
:
114514
,
'message'
:
str
(
ex
)}
j
[
'message'
]
=
j
[
'msg'
]
if
j
[
'code'
]
==
200
:
j
[
'code'
]
=
0
j
[
'data'
]
=
j
[
'data'
][
'url'
]
return
j
def
main
():
op
=
sys
.
argv
[
1
]
if
op
not
in
[
'cookies'
,
'upload'
]:
return
api
=
NeteApi
()
if
op
==
'cookies'
:
cookies
=
sys
.
argv
[
2
]
api
.
set_cookies
(
cookies
)
print
(
'已设置'
)
else
:
fname
=
sys
.
argv
[
2
]
img
=
open
(
fname
,
'rb'
).
read
()
r
=
api
.
image_upload
(
img
)
if
r
[
'code'
]
==
0
:
print
(
r
[
'data'
])
else
:
print
(
'上传失败:'
+
r
[
'message'
])
if
__name__
==
'__main__'
:
main
()
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录