2024-07-22 19:05:19 +08:00
from flask import Flask , request , jsonify , Response
import requests
2024-07-22 15:24:28 +08:00
from qushuiyin import clean_mask
2024-07-23 16:10:01 +08:00
import urllib . parse
2024-07-13 01:45:08 +08:00
app = Flask ( __name__ )
2024-07-22 15:24:28 +08:00
@app.route ( " /get_urls " , methods = [ " POST " ] )
def get_urls ( ) :
2024-07-13 01:45:08 +08:00
data = request . get_json ( ) # 从请求中获取JSON数据
if not data :
return jsonify ( { " error " : " No data provided " } ) , 400
# 处理数据
2024-07-22 15:24:28 +08:00
url = clean_mask ( data [ " share_url " ] )
print ( url )
return jsonify ( url ) , 200
2024-07-13 01:45:08 +08:00
2024-07-22 19:05:19 +08:00
@app.route ( " /proxy " )
def proxy ( ) :
# 从请求参数中获取视频链接
video_url = request . args . get ( " url " )
2024-07-25 20:26:49 +08:00
print ( video_url )
2024-07-22 19:05:19 +08:00
# 检查视频链接是否提供
if not video_url :
return Response ( " No video URL provided " , status = 400 )
2024-07-23 16:10:01 +08:00
headers = {
" User-Agent " : " Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1 Edg/122.0.0.0 "
}
2024-07-22 19:05:19 +08:00
# 发送请求到视频链接
try :
2024-07-23 16:10:01 +08:00
response = requests . get ( video_url , headers = headers , stream = True )
2024-07-22 19:05:19 +08:00
response . raise_for_status ( ) # 检查请求是否成功
except requests . RequestException as e :
return Response ( f " Error fetching video: { e } " , status = 500 )
# 将视频内容作为响应返回
return Response ( response . content , content_type = response . headers [ " Content-Type " ] )
2024-07-13 01:45:08 +08:00
if __name__ == " __main__ " :
app . run ( debug = True )