# 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。 ## 请求示例 ```json { "url": "http://example.com/api", "method": "post", "json": { "key1": "value1", "key2": "value2" } } ``` ## 响应格式 响应将包含以下字段: - `status`: 请求状态,`success` 或 `error`。 - `msg`: 状态消息,成功时为 "Request successful",错误时为错误描述。 - `data`: 包含响应的实际数据,如下: - `headers`: 响应头部信息。 - `body`: 响应正文。 - `cookies`: 响应中的 cookies。 ## 响应示例 成功响应: ```python 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) } ``` ```json { "status": "success", "msg": "Request successful", "data": { "url": { ... }, "headers": { ... }, "status_code": { ... }, "text": { ... }, "json": { ... }, "cookies": { ... }, } } ``` 错误响应: ```json { "status": "error", "msg": "Error description", "data": {} } ``` ## 示例代码 ```python 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()) ```