ADSL 代理 Proxy API 申请与使用指南
在这篇文章中,我们将详细讲解如何操作 ADSL Proxy API,借助这个工具,您能够轻松提取 ADSL IP 地址并在 ADSL Proxy 上设置 IP 白名单。
申请步骤
想要提取 ADSL IP 以及为 ADSL Proxy 添加 IP 白名单,首先需要访问 ADSL Proxy Extract API 和 ADSL Proxy Whitelist API 页面,点击「Acquire」按钮以获取所需的请求凭证:
首次访问时,如果您尚未登录或注册,系统会自动带您进入登录页面,完成注册后您将返回到当前页面。
值得一提的是,首次申请时会提供一定的免费额度,以便您体验该 API 的功能。
提取 ADSL IP
接下来,您可以在 ADSL Proxy Extract API 界面填写相关信息,下面我们将演示如何提取 ADSL 的 IP。
设置请求头和请求体
请求头 包含:
accept
:标示您希望接收 JSON 格式的响应,填写为application/json
。authorization
:用于调用 API 的密钥,申请后可直接选择。
请求体 包含:
number
:指定提取的 ADSL IP 数量,默认为 1。type
:选择提取的 ADSL IP 类型,主要分为http
和socks
,默认为http
。province
:指定提取 IP 的省份,默认随机。city
:指定提取 IP 的城市,默认随机。
请注意,province
和 city
的组合是有条件的。例如,city
为南昌时,province
必须为江西。相关规则如下:
json {"province":"北京","city":"北京","pId":0,"cId":0},...
所以您需要确保设置的 province
和 city
是符合条件的,建议优先选择江浙一带,因为这些地区的 IP 较多。具体参数设置如下图所示:
示例代码
页面右侧将自动生成多种编程语言的调用代码,如图所示:
以下是部分代码示例:
CURL
bash curl -X POST 'https://api.acedata.cloud/adsl/extract' \ -H 'accept: application/json' \ -H 'authorization: Bearer {token}' \ -H 'content-type: application/json' \ -d '{ "province": "浙江", "city": "温州" }'
Python
```python import requests
url = "https://api.acedata.cloud/adsl/extract"
headers = { "accept": "application/json", "authorization": "Bearer {token}", "content-type": "application/json" }
payload = { "province": "浙江", "city": "温州" }
response = requests.post(url, json=payload, headers=headers) print(response.text) ```
响应示例
一旦请求成功,API 将返回提取后的信息。例如:
json { "success": true, "data": [ { "ip": "115.219.4.171", "port": 23456, "proxy": "115.219.4.171:23456", "outbound_ip": "115.219.4.171", "province": "浙江", "city": "温州", "expire_at": 1721877364.588, "dialed_at": 1721876984.588 } ], "trace_id": "406465b0-f086-4a12-87a7-cdf05a3930a1" }
在响应中,您会找到 data
字段,该字段详细列出了提取的 IP 任务信息,主要内容包括:
success
:提取 ADSL IP 任务的状态。data
:有关提取的 ADSL IP 的详细信息。
在 data
中,您可以清晰地看到该 IP 的详细信息,其中 ip
是我们提取的 IP 地址,其它信息如下:
ip
:提取到的 ADSL IP。port
:对应的 ADSL IP 端口。proxy
:完整的 ADSL IP 代理信息。province
:提取 IP 所在的省份。city
:提取 IP 所在的城市。
通过上述 proxy
,您可以轻松继续后续的 IP 代理操作。
在使用 IP 代理之前,别忘了将本地网络 IP 地址(获取本地网络 IP 的方法请自行查找)添加到下方的白名单中,接下来我们将讲解如何使用 IP 代理:
代理使用
注意:在使用提取的代理 IP 之前,请务必先添加到 IP 白名单,否则将无法使用。关于白名单的添加,请查看下文。
Curl 示例代码:
shell curl -x 115.219.4.171:23456 myip.vpsnb.net # http proxy curl --socks5 115.219.3.54:23457 myip.vpsnb.net # socks proxy
Python 示例代码:
```python import requests import socks import socket import time
def test_http_proxy(proxy): try: start_time = time.time() response = requests.get( 'http://httpbin.org/ip', proxies={'http': proxy, 'https': proxy}, timeout=100) elapsed_time = time.time() - start_time print(response) if response.status_code == 200: print(f"HTTP Proxy {proxy} success. time: {elapsed_time:.2f} s") print(f"IP: {response.json()['origin']}") else: print(f"HTTP Proxy {proxy} failed. code: {response.status_code}") except Exception as e: print(f"HTTP Proxy {proxy} failed: {str(e)}")
def test_socks_proxy(proxy): proxy_parts = proxy.split(':') if len(proxy_parts) != 2: print(f"SOCKS failed: {proxy}") return
host, port = proxy_parts
port = int(port)try:start_time = time.time()socks.set_default_proxy(socks.SOCKS5, host, port)socket.socket = socks.socksocketresponse = requests.get('http://httpbin.org/ip', timeout=10)elapsed_time = time.time() - start_timeif response.status_code == 200:print(f"SOCKS Proxy {proxy} success. time: {elapsed_time:.2f} s")print(f"IP: {response.json()['origin']}")else:print(f"SOCKS Proxy {proxy} failed. code: {response.status_code}")
except Exception as e:print(f"SOCKS Proxy {proxy} failed: {str(e)}")
finally:socks.set_default_proxy()socket.socket = socket.socket
if name == "main": # HTTP Proxy http_proxy = "http://115.219.4.171:23456" test_http_proxy(http_proxy)
# SOCKS Proxy
socks_proxy = "115.219.3.54:23457"
test_socks_proxy(socks_proxy)
```
响应示例
json { "ip": "115.219.4.171", "country": "中国", "area": "0", "province": "浙江省", "city": "温州市", "isp": "电信", "timestamp": 1721877261 }
从这个结果,您可以看到获取的 IP 地区信息是与您提取时一致的,这表明该 ADSL IP 代理有效且可用。
ADSL 代理类型 type
您还可以设置 ADSL IP 代理的类型,主要有两种选项,分别为 http
和 socks
,前者为默认使用的设置。接下来我们以 socks
类型为例,展示具体的设置。
设置 IP 代理类型为 socks
时,具体参数设置如下图:
同时,您可以看到右侧自动生成的调用代码,复制并运行即可,也可以点击「Try」按钮进行测试。
Python 调用代码示例:
```python import requests
url = "https://api.acedata.cloud/adsl/extract"
headers = { "accept": "application/json", "authorization": "Bearer {token}", "content-type": "application/json" }
payload = { "province": "浙江", "city": "温州", "type": "socks" }
response = requests.post(url, json=payload, headers=headers) print(response.text) ```
调用后,返回结果如下所示:
json { "success": true, "data": [ { "ip": "115.222.155.148", "port": 23457, "proxy": "115.222.155.148:23457", "outbound_ip": "115.222.155.148", "province": "浙江", "city": "温州", "expire_at": 1721808226.561, "dialed_at": 1721807846.561 } ], "trace_id": "27d06ff5-20e9-4476-bdda-9e72a54ac0d4" }
结果显示,与前文内容一致,此时提取的 ADSL IP 代理类型为 socks
,后续使用时需根据代理类型选择合适的服务。
添加 IP 白名单
接下来,您可以在界面上填写需要的内容,如下图所示:
首次使用该接口时,您至少需要填写三项内容:一个是 authorization
,可从下拉列表中选择;另一个是 ip
,即我们需要添加到白名单的本机网络地址。最后一个参数是 action
,这表示您对白名单的操作,此处我们选择添加。
同样,您右侧也会看到调用代码,复制并运行即可,或通过点击「Try」按钮进行测试。
Python 示例代码:
```python import requests
url = "https://api.acedata.cloud/adsl/whitelist"
headers = { "accept": "application/json", "authorization": "Bearer {token}", "content-type": "application/json" }
payload = { "ip": "113.112.122.132", "action": "add" }
response = requests.post(url, json=payload, headers=headers) print(response.text) ```
调用后,返回结果如下:
json { "success": true }
返回信息中只有一个字段,说明:
success
:此操作的结果状态。
其中,success
显示您已成功将 IP 113.112.122.132
添加到白名单。
错误处理
在调用 API 时,如果遇到问题,API 会返回相应的错误代码和信息,常见的错误包含:
400 token_mismatched
:请求错误,可能是参数缺失或无效。400 api_not_implemented
:请求错误,可能是参数缺失或无效。401 invalid_token
:未经授权,提供的授权令牌无效或缺失。429 too_many_requests
:请求过多,超出速率限制。500 api_error
:服务器内部错误,出现问题。
错误响应示例
json { "success": false, "error": { "code": "api_error", "message": "fetch failed" }, "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89" }
结论
通过本文,您已经掌握了如何利用 ADSL Proxy API 轻松提取 ADSL IP 并添加 IP 白名单。希望这篇指南能帮助您更好地使用该 API。如有任何疑问,请随时联系技术支持团队。