原网站 已经隐藏 ,但是镜像的几百个
<!DOCTYPE html>
<html>
<head>
<title>Send Message</title>
</head>
<body>
<h1>Send a Message</h1>
<form action="/send_message" method="post">
<label for="message">Message:</label>
<input type="text" id="message" name="message"><br><br>
<input type="submit" value="Send">
</form>
<audio controls>
<source src="/audio" type="audio/mpeg">
</audio>
<script>
function sendText() {
var prompt = document.getElementById("message").value;
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var audioPlayer = document.getElementById("audioPlayer");
audioPlayer.src = "data:audio/mpeg;base64," + this.responseText;
audioPlayer.play();
}
};
xhttp.open("POST", "/send_message", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("message=" + prompt);
}
</script>
</body>
</html>
from flask import Flask, render_template, request, send_file import requests import json import asyncio import edge_tts import base64 app = Flask(__name__) url = "http:// 目标网站/api/chat_message/send" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", "Origin": "目标网站", "Referer": 目标网站" } # 定义文本、声音和输出文件名 VOICE = "zh-CN-XiaoyiNeural" OUTPUT_FILE = "E:/Time/code/Python/code/AI/test_02/test.mp3" @app.route('/') def index(): return render_template('index.html') @app.route('/send_message', methods=['POST']) def send_message(): prompt = request.form['message'] data = { "prompt": prompt, "options": { "conversationId": "a8e776bd-0a27-4b83-904e-caaf5b2f889b", "parentMessageId": "67e98289-39dd-4fd4-9759-6cb41874deda" } } response = requests.post (url=url, json=data, headers=headers) lines = response.text.strip ().split ("\n") last_line = lines[-1].strip () response_dict = json.loads (last_line) text = response_dict["text"] print(text) async def _main() -> None: communicate = edge_tts.Communicate(text, VOICE) await communicate.save(OUTPUT_FILE) if __name__ == "__main__": asyncio.run(_main()) return render_template('index.html') @app.route("/audio") def audio(): return send_file(OUTPUT_FILE, mimetype="audio/mpeg") if __name__ == "__main__": app.run()