本文档主要介绍 Ace Data Cloud 全球代理的对接说明,包括申请方法、实用方法等具体内容。
申请方法
要使用全球服务,可以首先到「申请页面」进行申请,首次申请有 1 积分免费额度。
如果您尚未登录,则会自动跳转到登录页面,登录之后继续申请即可。
使用方法
申请完毕之后,可以到「控制台」中查看本人的申请结果,如图所示:
点击 「Credentials」,即可查看使用全球代理服务的用户名及密码,以冒号分隔,其中用户名是 8 位,密码是 32 位,如图所示:
本代理是一种轮换代理(Rotating Proxy),因此使用的时候只需要设置一个固定的代理地址和端口即可,代理的地址和端口分别是 global.proxy.acedata.cloud
和 30007
,本代理是 HTTP/HTTPS/SOCKS 协议的代理,可以用于请求 HTTP 和 HTTPS 协议的网站。
注意:本代理只能在中国境外网络环境下使用,中国大陆地区无法使用。
命令测试
有了代理的用户名密码之后,最方便的方法便是通过 curl 命令行进行测试,如尚未安装,请参考 curl.se/ 安装即可。
假如当前代理的用户名密码是 1f78266a:eff0896726224fa2a99fe82dd1f07562
,我们可以用如下 curl 命令进行测试:
curl -x 1f78266a:eff0896726224fa2a99fe82dd1f07562@global.proxy.acedata.cloud:30007 https://ipinfo.io
这里我们使用 curl 的 -x
参数指定了代理地址,代理协议默认是 HTTP/HTTPS,这里请求的 URL 是 ipinfo.io,这个站点可以返回请求该站点的真实 IP 地址和 IP 所在地域。
注意:上述用户名密码可能无效,请自行替换成你的用户名密码。
运行结果如下:
{
"ip": "66.206.249.77",
"hostname": "host-66-206-249-77.public.eastlink.ca",
"city": "Kirkland Lake",
"region": "Ontario",
"country": "CA",
"loc": "48.1446,-80.0377",
"org": "AS11260 EastLink",
"postal": "P2N",
"timezone": "America/Toronto",
"readme": "https://ipinfo.io/missingauth"
}
可以看到,返回结果的 country 是 CA,代表加拿大。如果再次运行,可以得到不一样的结果,每次请求都是随机的 IP 出口。
代码对接
下面以 Python 为例演示该代理的设置方法:
import requests
proxy = 'http://{proxy_username}:{proxy_password}@global.proxy.acedata.cloud:30007'
proxies = {
'http': proxy,
'https': proxy
}
for _ in range(3):
resp = requests.get('https://ipinfo.io', proxies=proxies)
print(resp.text)
这里我们首先声明了代理的 URL 并定义为 proxy 变量,协议是 http 协议,后面跟随隧道代理的用户名和密码(即控制台展示的用户名和密码,二者以冒号分隔),后面再跟一个 @
符号,再跟代理的地址和端口即可。
注意:您需要将上述代码中的
{proxy_username}:{proxy_password}
替换为您的代理用户名密码,最终结果类似proxy = 'http://1f78266a:eff0896726224fa2a99fe82dd1f07562@global.proxy.acedata.cloud:30007'
,注意没有{
和}
字符。
接着声明了一个 proxies 变量,配置了两个键值对,键名分别为 http 和 https,其键值都是 proxy,代表对于 HTTP 和 HTTPS 协议的网站,都是用 proxy 变量定义的代理来进行请求。接下来定义了三次循环进行代理的测试。
运行结果如下:
{
"ip": "103.190.205.165",
"hostname": "assigned-for-client.adnsl.com",
"city": "Paltan",
"region": "Dhaka Division",
"country": "BD",
"loc": "23.7362,90.4143",
"org": "AS38203 ADN Telecom Ltd.",
"postal": "1000",
"timezone": "Asia/Dhaka",
"readme": "https://ipinfo.io/missingauth"
}
{
"ip": "74.111.25.181",
"hostname": "pool-74-111-25-181.syrcny.fios.verizon.net",
"city": "Syracuse",
"region": "New York",
"country": "US",
"loc": "43.0481,-76.1474",
"org": "AS701 Verizon Business",
"postal": "13201",
"timezone": "America/New_York",
"readme": "https://ipinfo.io/missingauth"
}
{
"ip": "207.113.168.248",
"city": "LaPorte",
"region": "Indiana",
"country": "US",
"loc": "41.6106,-86.7225",
"org": "AS13428 Surf Air Wireless, LLC",
"postal": "46350",
"timezone": "America/Chicago",
"readme": "https://ipinfo.io/missingauth"
}
可以看到,每次运行的结果得到的代理 IP 都是随机的,而且 IP 所在地域确实是来源于全球不同国家不同城市。
当然,上述的代理设置方式实际上是一个相对简洁的设置方式。
实际上上述代码等价于在请求的时候设置了一个额外的 Headers - Proxy Authorization,所以上述代码还可以改写如下:
import requests
import base64
proxy_host = 'global.proxy.acedata.cloud'
proxy_port = '30007'
proxy_username = '{proxy_username}' # 8位用户名
proxy_password = '{proxy_password}' # 32位密码
credentials = base64.b64encode(
f'{proxy_username}:{proxy_password}'.encode()).decode()
proxies = {
'http': f'http://{proxy_host}:{proxy_port}',
'https': f'http://{proxy_host}:{proxy_port}'
}
headers = {
'Proxy-Authorization': f'Basic {credentials}'
}
for _ in range(3):
resp = requests.get('https://ipinfo.io',
proxies=proxies, headers=headers)
print(resp.text)
可以看到,这里我们通过 Proxy-Authorization 这个请求头额外设置了代理的用户名和密码(需要进行 Base64 编码),这样的代码运行效果也是一样的。
对于其他语言,比如 JavaScript 的 axios,也可以使用类似的设置方式:
const axios = require("axios");
const base64 = require("base64");
const proxy_host = "global.proxy.acedata.cloud";
const proxy_port = "30007";
const proxy_username = "{proxy_username}"; // 8位用户名
const proxy_password = "{proxy_password}"; // 32位密码
const credentials = base64.encode(`${proxy_username}:${proxy_password}`);
const proxies = {
http: `http://${proxy_host}:${proxy_port}`,
https: `http://${proxy_host}:${proxy_port}`,
};
const headers = {
"Proxy-Authorization": `Basic ${credentials}`,
};
for (let i = 0; i < 3; i++) {
axios
.get("https://ipinfo.io", { proxies, headers })
.then((resp) => console.log(resp.data))
.catch((err) => console.error(err));
}
运行效果都是一样的。
对于其他语言的设置方法,请参考上文自行改写即可。
地区筛选
我们可以通过在 username 里面添加 region 来进行地区的筛选,例如如果要选择美国的代理,原来的 username 是 1f78266a
,则可以把 username 修改为 1f78266a-region-us
,上述的 curl 就可以改写如下:
curl -x 1f78266a-region-us:eff0896726224fa2a99fe82dd1f07562@global.proxy.acedata.cloud:30007 https://ipinfo.io
地区列表:
国家或地区名称 | 国家/地区代码 |
---|---|
美国 | us |
香港 | hk |
安道尔 | ad |
阿联酋 | ae |
阿富汗 | af |
安提瓜和巴布达 | ag |
安圭拉 | ai |
阿尔巴尼亚 | al |
亚美尼亚 | am |
安哥拉 | ao |
南极洲 | aq |
阿根廷 | ar |
美属萨摩亚 | as |
奥地利 | at |
澳大利亚 | au |
阿鲁巴 | aw |
奥兰群岛 | ax |
阿塞拜疆 | az |
波黑 | ba |
巴巴多斯 | bb |
孟加拉 | bd |
比利时 | be |
布基纳法索 | bf |
保加利亚 | bg |
巴林 | bh |
布隆迪 | bi |
贝宁 | bj |
圣巴泰勒米岛 | bl |
百慕大 | bm |
文莱 | bn |
玻利维亚 | bo |
荷兰加勒比区 | bq |
巴西 | br |
巴哈马 | bs |
不丹 | bt |
布韦岛 | bv |
博茨瓦纳 | bw |
白俄罗斯 | by |
伯利兹 | bz |
加拿大 | ca |
科科斯群岛 | cc |
中非 | cf |
瑞士 | ch |
智利 | cl |
喀麦隆 | cm |
哥伦比亚 | co |
哥斯达黎加 | cr |
古巴 | cu |
佛得角 | cv |
圣诞岛 | cx |
塞浦路斯 | cy |
捷克 | cz |
德国 | de |
吉布提 | dj |
丹麦 | dk |
多米尼克 | dm |
多米尼加 | do |
阿尔及利亚 | dz |
厄瓜多尔 | ec |
爱沙尼亚 | ee |
埃及 | eg |
西撒哈拉 | eh |
厄立特里亚 | er |
西班牙 | es |
芬兰 | fi |
斐济群岛 | fj |
密克罗尼西亚联邦 | fm |
法罗群岛 | fo |
法国 | fr |
加蓬 | ga |
格林纳达 | gd |
格鲁吉亚 | ge |
法属圭亚那 | gf |
加纳 | gh |
直布罗陀 | gi |
格陵兰 | gl |
几内亚 | gn |
瓜德罗普 | gp |
赤道几内亚 | gq |
希腊 | gr |
危地马拉 | gt |
关岛 | gu |
几内亚比绍 | gw |
圭亚那 | gy |
赫德岛和麦克唐纳群岛 | hm |
洪都拉斯 | hn |
克罗地亚 | hr |
海地 | ht |
匈牙利 | hu |
印尼 | id |
爱尔兰 | ie |
以色列 | il |
马恩岛 | im |
印度 | in |
英属印度洋领地 | io |
伊拉克 | iq |
伊朗 | ir |
冰岛 | is |
意大利 | it |
泽西岛 | je |
牙买加 | jm |
约旦 | jo |
日本 | jp |
柬埔寨 | kh |
基里巴斯 | ki |
科摩罗 | km |
科威特 | kw |
开曼群岛 | ky |
黎巴嫩 | lb |
列支敦士登 | li |
斯里兰卡 | lk |
利比里亚 | lr |
莱索托 | ls |
立陶宛 | lt |
卢森堡 | lu |
拉脱维亚 | lv |
利比亚 | ly |
摩洛哥 | ma |
摩纳哥 | mc |
摩尔多瓦 | md |
黑山 | me |
法属圣马丁 | mf |
马达加斯加 | mg |
马绍尔群岛 | mh |
马其顿 | mk |
马里 | ml |
缅甸 | mm |
澳门 | mo |
马提尼克 | mq |
毛里塔尼亚 | mr |
蒙塞拉特岛 | ms |
马耳他 | mt |
马尔代夫 | mv |
马拉维 | mw |
墨西哥 | mx |
马来西亚 | my |
纳米比亚 | na |
尼日尔 | ne |
诺福克岛 | nf |
尼日利亚 | ng |
尼加拉瓜 | ni |
荷兰 | nl |
挪威 | no |
尼泊尔 | np |
瑙鲁 | nr |
阿曼 | om |
巴拿马 | pa |
秘鲁 | pe |
法属波利尼西亚 | pf |
巴布亚新几内亚 | pg |
菲律宾 | ph |
巴基斯坦 | pk |
波兰 | pl |
皮特凯恩群岛 | pn |
波多黎各 | pr |
巴勒斯坦 | ps |
帕劳 | pw |
巴拉圭 | py |
卡塔尔 | qa |
留尼汪 | re |
罗马尼亚 | ro |
塞尔维亚 | rs |
俄罗斯 | ru |
卢旺达 | rw |
所罗门群岛 | sb |
塞舌尔 | sc |
苏丹 | sd |
瑞典 | se |
新加坡 | sg |
斯洛文尼亚 | si |
斯洛伐克 | sk |
塞拉利昂 | sl |
圣马力诺 | sm |
塞内加尔 | sn |
索马里 | so |
苏里南 | sr |
南苏丹 | ss |
圣多美和普林西比 | st |
萨尔瓦多 | sv |
叙利亚 | sy |
斯威士兰 | sz |
特克斯和凯科斯群岛 | tc |
乍得 | td |
多哥 | tg |
泰国 | th |
托克劳 | tk |
东帝汶 | tl |
突尼斯 | tn |
汤加 | to |
土耳其 | tr |
图瓦卢 | tv |
坦桑尼亚 | tz |
乌克兰 | ua |
乌干达 | ug |
乌拉圭 | uy |
梵蒂冈 | va |
委内瑞拉 | ve |
英属维尔京群岛 | vg |
美属维尔京群岛 | vi |
越南 | vn |
瓦利斯和富图纳 | wf |
萨摩亚 | ws |
也门 | ye |
马约特 | yt |
南非 | za |
赞比亚 | zm |
津巴布韦 | zw |
刚果(布) | cg |
刚果(金) | cd |
莫桑比克 | mz |
根西岛 | gg |
冈比亚 | gm |
北马里亚纳群岛 | mp |
埃塞俄比亚 | et |
新喀里多尼亚 | nc |
瓦努阿图 | vu |
法属南部领地 | tf |
纽埃 | nu |
美国本土外小岛屿 | um |
库克群岛 | ck |
英国 | gb |
特立尼达和多巴哥 | tt |
圣文森特和格林纳丁斯 | vc |
台湾 | tw |
新西兰 | nz |
沙特阿拉伯 | sa |
老挝 | la |
朝鲜 北朝鲜 | kp |
韩国 南朝鲜 | kr |
葡萄牙 | pt |
吉尔吉斯斯坦 | kg |
哈萨克斯坦 | kz |
塔吉克斯坦 | tj |
土库曼斯坦 | tm |
乌兹别克斯坦 | uz |
圣基茨和尼维斯 | kn |
圣皮埃尔和密克隆 | pm |
圣赫勒拿 | sh |
圣卢西亚 | lc |
毛里求斯 | mu |
科特迪瓦 | ci |
肯尼亚 | ke |
蒙古国 | mn |
IP 固定
和上述内容一样,我们可以通过在 username 里面添加 session
并添加一个 5 位固定数字,来实现一段时间内的 IP 固定,有效期大约 10 分钟。
例如如果要实现一段时间内的 IP 固定,原来的 username 是 1f78266a
,则可以把 username 修改为 1f78266a-session-12345
,其中的 12345
如果不变,那么一段时间内 IP 就不变,上述的 curl 就可以改写如下:
curl -x 1f78266a-session-12345:eff0896726224fa2a99fe82dd1f07562@global.proxy.acedata.cloud:30007 https://ipinfo.io
购买更多
如您的套餐已经耗尽,您需要购买更多才能继续使用该代理服务。
要购买更多,请到「申请页面」直接点击「购买更多」按钮即可选购,单次购买更多,单价越便宜。