qushuiyin/api.py

48 lines
1.3 KiB
Python
Raw Normal View History

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")
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)