支持的 SOCKS 协议

Bright Data支持 SOCKS 协议版本5:SOCKS5

使用 SOCKS5 执行抓取任务

互联网数据收集使用的最常见协议是 HTTPHTTPS ,一些工具或实用程序需要 SOCKS5 才能运行。

Bright Data不区分HTTPHTTPSSOCKS5 代理: 我们的所有代理都支持所有三种协议。您可以在使用同一代理时在不同协议之间切换。

您真的需要 SOCKS5 吗?

我们的 HTTPHTTPS 代理解决方案通常最适合抓取网站,成本最低,性能最高。但是,如果任务仍然需要 SOCKS5 ,Bright Data可以在全球范围内提供优质代理。

支持的代理类型

所有 Bright Data 代理网络均支持 SOCKS5 代理连接:数据中心、ISP、住宅和移动代理网络。

目前仅针对 HTTPS 目标支持在Bright Data的住宅代理中使用 SOCKS5,很快也将为 HTTP 目标提供支持。

SOCKS5主代理端口配置

Bright Data将端口 22228 用于 SOCKS5

使用 SOCKS5 时,请确保使用 brd.superproxy.io:22228,而不是 HTTPHTTPS 协议的标准端口

使用Bright Data进行 SOCKS5 定位

Bright Data 仅支持 SOCKS5 代理的主机名(域名)

根据我们的合规规定,我们仅允许 SOCKS5 请求以主机名/域名作为目标来转发。使用显式IP或本地IP解析发送的请求会被屏蔽。

因此,配置您的代码、客户端或调用应用程序以:

  1. 使用域名作为目标

  2. 远程而非本地解析 DNS

遵守这些规则将确保请求通过我们的代理对等节点到达目标域 IP。

目标端口

Datacenter & ISP

Bright Data 针对数据中心和ISP代理,支持所有高于 1024 的端口。

住宅 & 移动

对于住宅和移动代理,Bright Data支持以下端口:8080844356781962200044434433443044441969

将SOCKS5与 curlJavascriptPython 结合使用

发出 curl 请求时使用 socks5h://brd.superproxy.io:22228

要将 curl 与Bright Data SOCKS5代理一起使用,您必须明确执行以下操作:

  1. -x 添加到命令行参数中

  2. SOCKS5h 协议用于远程 DNS 查找

  3. 使用的代理地址为 brd.superproxy.io:22228

  4. 提供Bright Data代理区域凭证

  5. 住宅和移动代理:添加curl -k 选项以忽略SSL错误代理或设置SSL证书 Setup SSL Certificate

不符合上述所有要求的请求将被屏蔽。

curl 命令示例:

curl -i -k -x socks5h://brd.superproxy.io:22228 --proxy-user [USERNAME]:[PASSWORD] "https://geo.brdtest.com/welcome.txt"

curl 故障排除

我们建议使用 curl 来排除SOCKS5请求的故障,并添加 curl 选项 -i-v 来打印标头字段。查找 x-brd-errorx-brd-err-codex-brd-err-msg ,以获取Bright Data代理网络发送的详细错误消息。 要查看我们的完整错误目录(也适用于 HTTPHTTPS ),请访问此页面: 代理错误故障排除

SOCKS5 身份验证配置

Bright Data必须接收代理区域凭据才能访问SOCKS5代理

身份验证也类似于 HTTPHTTPS ,通过传递用户和密码来访问代理。

有些工具或实用程序会让您分别输入凭据和端口作为参数,如控制面板中所示;有些会要求您提供一个url,其中的凭据作为单个参数分隔:userName:password@brd.superproxy.io:22228

SOCKS5 地理位置和国家/地区选择

位置设置与 HTTP/HTTPS 代理地理定位相同,通过在您的 SOCKS5 用户名中添加 -country-[国家代码] 来设置。

使用 curl 命令获取意大利(国家代码:itSOCKS5 代理的示例:

curl -i -k -x socks5h://brd.superproxy.io:22228 --proxy-user [proxy zone user]-country-it:[zone password] "https://geo.brdtest.com/welcome.txt" -v

SOCKS5SOCKS5h 之间的区别

SOCKS5SOCKS5h 之间的区别在于它们处理DNS(域名系统)解析的方式:

  1. SOCKS5:在标准SOCKS5代理中,客户端负责解析DNS。这意味着域名(例如 example.com)在通过代理传递之前被解析为IP地址。然后,代理将流量路由到已解析的IP地址。

  2. SOCKS5h: “h” 代表“主机名”。在这种情况下,代理服务器负责解析DNS。客户端将域名(而不是IP地址)发送给代理服务器,代理服务器将其解析并转发请求。如果您想从客户端网络隐藏目标域名,这很有用。

总结一下:

  • SOCKS5:DNS 解析发生在客户端。

  • SOCKS5h:DNS 解析发生在代理端。

Bright Data 支持代理端SOCKS5h - 选择最适合您要求的方案。