测试代理可用性¶
动态代理和独享代理通过API获取代理服务器列表后,您就可以在程序里通过代理服务器获取网页数据了。 隧道代理无需调用API获取代理,在会员中心查看隧道的IP和端口号。
您获取的代理服务器是这样的:121.19.0.58:43938
121.19.0.58
是代理服务器的IP地址
43938
是代理服务器的端口号
代理验证¶
什么是代理验证
动态代理
和独享代理
只对少数付费客户开放,所以需要进行授权验证,购买后只有通过您的用户名密码或设置您的IP白名单后才能使用。
隧道代理
只对您的订单授权使用,同时支持用户名密码和IP白名单。
注:用于代理验证的用户名密码并非用于登录巨量网站的用户名密码,详情参见设置代理用户名密码
我们支持两种验证方式:
1. 绑定您机器的IP作为白名单¶
IP白名单需要设置您的外网IP
- 如果是办公室电脑,可以访问http://ip.cn/ 查询您的外网IP
- 如果是Linux服务器,可以通过如下命令查看机器外网IP:
curl ip.cn
您还可以参考:如何查看本机外网IP
2. 设置用户名密码¶
首先在会员中心 动态代理 / 独享代理 / 隧道代理 页找到用于代理验证的用户名密码。
HTTP代理¶
通过用户名密码的进行身份认证,您在发起http请求时需要在header里添加Proxy-Authorization,格式如下:
Proxy-Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
dXNlcm5hbWU6cGFzc3dvcmQ=
是您的用户名和密码通过:
拼接后进行base64编码而成。
例如您的用户名是username
,密码是password
,用如下脚本即可生成base64验证串:
#PHP生成base64验证串
echo base64_encode('username:password'); #输出dXNlcm5hbWU6cGFzc3dvcmQ=
命令行测试¶
如果您的程序在Linux上运行,我们非常推荐您在命令行下先通过curl
命令测试代理服务器的可用性,然后再进行编程。
例如您的用户名是username
,密码是password
,提取到的代理IP是121.19.0.58:43938
,可执行如下命令测试代理可用性:
HTTP代理¶
#带上用户名密码
curl -v "https://api.ip.sb/ip" -x username:password@121.19.0.58:43938
#直接添加Proxy-Authorization
curl -v -H "Proxy-Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=" "https://api.ip.sb/ip" -x 121.19.0.58:43938
访问https网站请设置IP白名单
curl(版本>7.30)在发起CONNECT请求时并不会在header里带上Proxy-Authorization
,即便做了-H "Proxy-Authorization: Basic ...
或-x username:password@121.19.0.58:43938
,这会导致代理服务器找不到Proxy-Authorization
来验证身份,于是返回407错误
查看我的curl版本:curl --version
请在设置IP白名单后再做对https网页的测试
SOCKS代理¶
#带上用户名密码
curl -v "https://api.ip.sb/ip" --socks5 username:password@121.19.0.58:43938
如何查看我的用户名密码
巨量HTTP采用一单一号的做法,具体账号密码请到会员中心产品管理中获取