.gitea/workflows | ||
.gitignore | ||
app.py | ||
Dockerfile | ||
Pipfile | ||
Pipfile.lock | ||
README.md | ||
tools.py |
Proxy API
文档介绍了 Proxy API 接口的使用方法。该接口允许用户通过 POST 请求发送数据,以代理方式请求指定的 URL,并返回请求的响应。
功能
- 代理请求: 接口接受 JSON 格式的数据,包括目标 URL、HTTP 方法和其他可选参数,然后将请求转发到指定的 URL。
- 支持多种 HTTP 方法: 支持 GET、POST、PUT、DELETE 和 PATCH 方法。
- 自定义请求参数: 允许用户自定义 headers、cookies、请求体等。
使用方法
发送一个 POST 请求到 /proxy
,请求体应包含以下字段:
url
: 必填,目标 URL。method
: 必填,HTTP 方法(如get
、post
等)。params
: 可选,URL 参数。data
: 可选,表单数据。json
: 可选,JSON 数据。headers
: 可选,请求头。cookies
: 可选,cookies 数据。timeout
: 可选,默认为 10 秒。allow_redirects
: 可选,默认为 True。
请求示例
{
"url": "http://example.com/api",
"method": "post",
"json": {
"key1": "value1",
"key2": "value2"
}
}
响应格式
响应将包含以下字段:
-
status
: 请求状态,success
或error
。 -
msg
: 状态消息,成功时为 "Request successful",错误时为错误描述。 -
data
: 包含响应的实际数据,如下:headers
: 响应头部信息。body
: 响应正文。cookies
: 响应中的 cookies。
响应示例
成功响应:
response_data = {
'url': response.url,
'headers': dict(response.headers),
'status_code': response.status_code,
'text': response.text,
'json': response_json,
'cookies': requests.utils.dict_from_cookiejar(response.cookies)
}
{
"status": "success",
"msg": "Request successful",
"data": {
"url": { ... },
"headers": { ... },
"status_code": { ... },
"text": { ... },
"json": { ... },
"cookies": { ... },
}
}
错误响应:
{
"status": "error",
"msg": "Error description",
"data": {}
}
示例代码
import json
import requests
# 代理 API 的 URL
url = 'http://localhost:5000/proxy'
# 要请求的目标 URL 和参数
payload = {
"url": "https://httpbin.org/post", # 目标 URL
"method": "post", # HTTP 方法
"json": { # JSON 数据
"key1": "value1",
"key2": "value2"
}
}
# 发送 POST 请求到代理 API
response = requests.post(url, json=payload)
# 打印响应内容
print(response.json())