这是一个本地服务转接程序,用于接收GET请求并转发搜索请求到百度AI搜索服务。
- 接收GET请求:接收包含
search和key参数的GET请求 - 密钥验证:验证请求中的
key参数是否与key.txt文件中的内容一致 - 转发请求:验证通过后,将搜索内容以POST请求发送到百度AI搜索服务
- 返回结果:将百度服务器的响应结果返回给请求者
首先需要安装Python依赖包:
pip install flask requestspython search_proxy.py服务将在 http://localhost:5000 启动
请求格式:
GET http://localhost:5000/search?search=<搜索内容>&key=<密钥>
示例:
# 使用curl
curl "http://localhost:5000/search?search=北京有哪些旅游景区&key=12345"
# 使用浏览器
http://localhost:5000/search?search=北京有哪些旅游景区&key=12345- URL:
/search - 方法:
GET - 参数:
search(必需): 搜索内容key(必需): 验证密钥
成功响应 (200):
{
"success": true,
"search_query": "北京有哪些旅游景区",
"baidu_response": {
"status_code": 200,
"headers": {...},
"content": {...}
}
}失败响应:
- 400: 缺少必需参数
- 403: 密钥验证失败
- 500: 服务器错误
- URL:
/ - 方法:
GET - 说明: 返回服务信息
- URL:
/health - 方法:
GET - 说明: 检查服务状态
程序会读取与脚本同目录下的key.txt文件作为验证密钥。
当前密钥内容为:12345
程序中已配置百度AI搜索服务的API地址和Token:
- API URL:
https://qianfan.baidubce.com/v2/ai_search/chat/completions - Token: 已在代码中配置
- 密钥安全:请妥善保管
key.txt文件,避免泄露 - API限制:百度API可能有调用频率限制,请合理使用
- 网络要求:需要能够访问百度服务器的网络环境
- 端口占用:确保5000端口未被其他程序占用
程序会处理以下错误情况:
- 参数缺失
- 密钥验证失败
- 网络请求超时
- 百度API返回错误
所有错误都会以JSON格式返回,包含错误信息和状态码。
- Python版本: 3.6+
- 依赖包: Flask, Requests
- 开发模式: 默认启用Debug模式,生产环境请关闭
启动服务后,可以使用以下命令进行测试:
# 正确的请求
curl "http://localhost:5000/search?search=天气&key=12345"
# 密钥错误
curl "http://localhost:5000/search?search=天气&key=wrong"
# 缺少参数
curl "http://localhost:5000/search?key=12345"