0%

全球代理对接说明

本文档主要介绍 Ace Data Cloud 全球代理的对接说明,包括申请方法、实用方法等具体内容。

申请方法

要使用全球服务,可以首先到「申请页面」进行申请,首次申请有 1 积分免费额度。

如果您尚未登录,则会自动跳转到登录页面,登录之后继续申请即可。

使用方法

申请完毕之后,可以到「控制台」中查看本人的申请结果,如图所示:

点击 「Credentials」,即可查看使用全球代理服务的用户名及密码,以冒号分隔,其中用户名是 8 位,密码是 32 位,如图所示:

本代理是一种轮换代理(Rotating Proxy),因此使用的时候只需要设置一个固定的代理地址和端口即可,代理的地址和端口分别是 global.proxy.acedata.cloud30007,本代理是 HTTP/HTTPS/SOCKS 协议的代理,可以用于请求 HTTP 和 HTTPS 协议的网站。

注意:本代理只能在中国境外网络环境下使用,中国大陆地区无法使用。

命令测试

有了代理的用户名密码之后,最方便的方法便是通过 curl 命令行进行测试,如尚未安装,请参考 https://curl.se/ 安装即可。

假如当前代理的用户名密码是 1f78266a:eff0896726224fa2a99fe82dd1f07562,我们可以用如下 curl 命令进行测试:

1
curl -x 1f78266a:eff0896726224fa2a99fe82dd1f07562@global.proxy.acedata.cloud:30007 https://ipinfo.io

这里我们使用 curl 的 -x 参数指定了代理地址,代理协议默认是 HTTP/HTTPS,这里请求的 URL 是 https://ipinfo.io,这个站点可以返回请求该站点的真实 IP 地址和 IP 所在地域。

注意:上述用户名密码可能无效,请自行替换成你的用户名密码。

运行结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
{
"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 为例演示该代理的设置方法:

1
2
3
4
5
6
7
8
9
10
11
12
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 变量定义的代理来进行请求。接下来定义了三次循环进行代理的测试。

运行结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
"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,所以上述代码还可以改写如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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,也可以使用类似的设置方式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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 就可以改写如下:

1
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 就可以改写如下:

1
curl -x 1f78266a-session-12345:eff0896726224fa2a99fe82dd1f07562@global.proxy.acedata.cloud:30007 https://ipinfo.io

购买更多

如您的套餐已经耗尽,您需要购买更多才能继续使用该代理服务。

要购买更多,请到「申请页面」直接点击「购买更多」按钮即可选购,单次购买更多,单价越便宜。