支持的 SOCKS 协议
Bright Data支持 SOCKS 协议版本5:SOCKS5。
使用 SOCKS5 执行抓取任务
互联网数据收集使用的最常见协议是 HTTP 和 HTTPS ,一些工具或实用程序需要 SOCKS5 才能运行。
Bright Data不区分HTTP、HTTPS和 SOCKS5 代理: 我们的所有代理都支持所有三种协议。您可以在使用同一代理时在不同协议之间切换。
您真的需要 SOCKS5 吗?
我们的 HTTP 和 HTTPS 代理解决方案通常最适合抓取网站,成本最低,性能最高。但是,如果任务仍然需要 SOCKS5 ,Bright Data可以在全球范围内提供优质代理。
支持的代理类型
所有 Bright Data 代理网络均支持SOCKS5 代理连接:数据中心、ISP、住宅和移动代理网络。
目前仅针对
HTTPS 目标支持在Bright Data的住宅代理中使用 SOCKS5,很快也将为 HTTP 目标提供支持。SOCKS5主代理端口配置
Bright Data将端口
22228 用于 SOCKS5 SOCKS5 时,请确保使用 brd.superproxy.io:22228,而不是 HTTP 和 HTTPS 协议的标准端口。
使用Bright Data进行 SOCKS5 定位
Bright Data 仅支持
SOCKS5 代理的主机名(域名) SOCKS5 请求以主机名/域名作为目标来转发。使用显式IP或本地IP解析发送的请求会被屏蔽。
因此,配置您的代码、客户端或调用应用程序以:
- 使用域名作为目标
- 远程而非本地解析 DNS
目标端口
Datacenter & ISP
Bright Data 针对数据中心和ISP代理,支持所有高于 1024 的端口。住宅 & 移动
对于住宅和移动代理,Bright Data支持以下端口:8080、8443、5678、1962、2000、4443、4433、4430、4444和1969。
将SOCKS5与 curl、Javascript 和 Python 结合使用
- curl
- Javascript
- Python
发出
curl 请求时使用 socks5h://brd.superproxy.io:22228 curl 与Bright Data SOCKS5代理一起使用,您必须明确执行以下操作:-
将
-x添加到命令行参数中 -
将
SOCKS5h协议用于远程 DNS 查找 -
使用的代理地址为
brd.superproxy.io:22228 - 提供Bright Data代理区域凭证
-
住宅和移动代理:添加
curl -k选项以忽略SSL错误代理或设置SSL证书 Setup SSL Certificate
curl 命令示例:curl 故障排除
我们建议使用 curl 来排除SOCKS5请求的故障,并添加 curl 选项 -i 或 -v 来打印标头字段。查找 x-brd-error、x-brd-err-code 和 x-brd-err-msg ,以获取Bright Data代理网络发送的详细错误消息。
要查看我们的完整错误目录(也适用于 HTTP 和 HTTPS ),请访问此页面: 代理错误故障排除
SOCKS5 身份验证配置
Bright Data必须接收代理区域凭据才能访问
SOCKS5代理 HTTP 和 HTTPS ,通过传递用户和密码来访问代理。
有些工具或实用程序会让您分别输入凭据和端口作为参数,如控制面板中所示;有些会要求您提供一个url,其中的凭据作为单个参数分隔:userName:password@brd.superproxy.io:22228。
SOCKS5 地理位置和国家/地区选择
位置设置与 HTTP/HTTPS 代理地理定位相同,通过在您的 SOCKS5 用户名中添加 -country-[国家代码] 来设置。
使用 curl 命令获取意大利(国家代码:it)SOCKS5 代理的示例:
SOCKS5 和 SOCKS5h 之间的区别
SOCKS5 和 SOCKS5h 之间的区别在于它们处理DNS(域名系统)解析的方式:
-
SOCKS5:在标准SOCKS5代理中,客户端负责解析DNS。这意味着域名(例如
example.com)在通过代理传递之前被解析为IP地址。然后,代理将流量路由到已解析的IP地址。 - SOCKS5h: “h” 代表“主机名”。在这种情况下,代理服务器负责解析DNS。客户端将域名(而不是IP地址)发送给代理服务器,代理服务器将其解析并转发请求。如果您想从客户端网络隐藏目标域名,这很有用。
- SOCKS5:DNS 解析发生在客户端。
- SOCKS5h:DNS 解析发生在代理端。