https://github.com/cnbeining/letvcloudchecker
对付商业软件的最好办法就是你也写一个,效果更好,然后开源。
GPL v2。
代码下面。
#!/usr/bin/env python3
#coding:utf-8
# Author: Beining --<ACICFG>
# Purpose: Batch check whether the Letvcloud file's statues.
# Created: 08/02/2014
import urllib.request
import sys
import os
import json
import hashlib
import getopt
global line_to_write
line_to_write = ''
#----------------------------------------------------------------------
def check_upload(source_id):
""""""
line_to_write_this =''
message = ''
user_id = ''
video_name = ''
video_duration = ''
add_time = ''
type_avalable = ''
user_unique = ''
video_type_set = ''
str2Hash = 'cfflashformatjsonran0.7214574650861323uu2d8c027396ver2.1vu' + source_id + 'bie^#@(%27eib58'
sign = hashlib.md5(str2Hash.encode('utf-8')).hexdigest()
request_info = urllib.request.Request('http://api.letvcloud.com/gpc.php?&sign='+sign+'&cf=flash&vu='+source_id+'&ver=2.1&ran=0.7214574650861323&qr=2&format=json&uu=2d8c027396')
try:
response = urllib.request.urlopen(request_info)
data = response.read()
message = json.loads(data.decode('utf-8'))['message']
user_id = json.loads(data.decode('utf-8'))['data']['video_info']['user_id']
video_name = json.loads(data.decode('utf-8'))['data']['video_info']['video_name']
video_duration = json.loads(data.decode('utf-8'))['data']['video_info']['video_duration']
add_time = json.loads(data.decode('utf-8'))['data']['video_info']['add_time']
user_unique = json.loads(data.decode('utf-8'))['data']['user_info']['user_unique']
video_type_set = json.loads(data.decode('utf-8'))['data']['user_info']['video_type_set']
for i in json.loads(data.decode('utf-8'))['data']['video_info']['media']:
type_avalable = type_avalable + json.loads(data.decode('utf-8'))['data']['video_info']['media'][i]['video_type']
except:
return 'Cannot check '+source_id+' !'
line_to_write_this = source_id + ',' + message + ',' + video_name + ',' + video_duration + ',' + add_time + ',' + user_id + ',' + type_avalable
print(line_to_write_this)
return line_to_write_this
#----------------------------------------------------------------------
def usage():
""""""
print('''Usage:
python3 letvcheck.py (-h)( -s) vu1 vu2
-s: Save to CSV file.
-h: Help.''')
if __name__=='__main__':
argv_list = []
argv_list = sys.argv[1:]
file_csv = ''
line_to_write = ''
try:
opts, args = getopt.getopt(argv_list, "hs:", ["help",'save'])
except getopt.GetoptError:
usage()
exit()
for o, a in opts:
if o in ('-h', '--help'):
usage()
exit()
elif o in ('-s', '--save'):
file_csv = a
print('Saving your result to csv file '+a)
try:
argv_list.remove('-s')
except:
break
argv_list.remove(a)
#print(argv_list)
if file_csv is not '':
for vu in argv_list:
line_to_write = line_to_write + str(check_upload(vu)) + '\n'
line_to_write = line_to_write
f = open(file_csv, "w")
f.writelines(line_to_write)
f.close()
else:
for vu in argv_list:
check_upload(vu)
对付商业软件的最好办法就是你也写一个,效果更好,然后开源。
233333333333333333333333333333
玩小圈子也不是这么玩的。。也不是什么高大上东西 弄得神神秘秘的。。。
beining好,
我现在也在申请调用乐视api,但是
第一,我申请不到他的key,不知道为啥,提交申请发送邮件很久都没人联系我。
第二,我发现你调用的接口跟现在官方文档不同,现在他的ver还是2.0,你的已经到2.1了。。。。他默认接口地址统一为:http://api.letvcloud.com/open.php,跟你的参数也不同。。
这个。。。。难道你是内部开发人员??
我肯定不是什么内部开发人员了。。。
1.你恐怕需要交钱用乐视云视频才能给你这个Key。谁知道你会不会再开发个flvcd出来。。。
2.我也发现了,版本号不一样。
3.我是抓包取的,和open.php接口不是一个。
好的!感谢回复哈!