无需 KYC——无需身份证、无需自拍、无需证件 · 用加密货币支付:BTC, USDT, USDC, ETH, SOL, LTC · 最低充值 US$25
语言: 简体中文
查看价格

指南 · SOCKS5

SOCKS5 静态代理设置:curl、Python、Firefox 和 DNS

将工具指向你静态 IP 的 SOCKS5 主机和端口,登录或使用 IP 允许列表,并让代理解析主机名。

最后更新: · 3 分钟阅读

快速回答

如何设置 SOCKS5 静态代理?

要设置 SOCKS5 静态代理,请将你的工具指向你静态 IP 的 SOCKS5 主机和端口,并让代理解析主机名。使用 curl --socks5-hostname、Python Requests 中的 socks5h:// URL,或 Firefox 中的“使用 SOCKS v5 时代理 DNS”复选框。SteadyProxy 静态 IP 支持 HTTP、HTTPS(CONNECT)和 SOCKS5;默认 SOCKS5 端口是 7778,每个 IP 显示自己的主机和端口。更新于 2026 年 10 月 19 日。

SOCKS5 的关键事实有哪些?

协议SOCKS 版本 5(RFC 1928),TCP 连接
登录方式用户名和密码子协商(RFC 1929),或 IP 允许列表
SteadyProxy 身份验证用户名和密码,或 IP 白名单(最多 10 个 IP)
默认端口SOCKS5 7778,HTTP 7777;使用每个 IP 列出的主机和端口
通过代理的 DNScurl --socks5-hostname 或 socks5h://;Requests socks5h://;Firefox “使用 SOCKS v5 时代理 DNS”
Python 包requests[socks],它会安装 PySocks
被阻止的目标银行、政府、支付门户和票务网站,以及 SMTP(发邮件)端口 25、465 和 587

何时应使用 SOCKS5 而不是 HTTP 端口?

当应用不支持 HTTP 代理,或只提供 SOCKS 设置时,请使用 SOCKS5。对于 Web 流量,两者都可以:HTTP 端口通过 CONNECT 隧道承载 HTTPS,而 SOCKS5 承载任何 TCP 连接。对于一个静态 IP,两者给出相同的出口 IP,你可以用下面的测试确认。请计划仅使用 TCP:本指南不涵盖 UDP。通过两者都无法发送电子邮件,因为 SMTP 端口已关闭。

如何在 curl 中使用 SOCKS5 静态代理?

curl 有两种方式将主机名发送给代理:--socks5-hostname 选项,或以 socks5h:// 开头的代理 URL。普通的 socks5:// 方案会让 curl 先在你自己的机器上解析主机名,然后只发送 IP。在我们 2026 年 10 月 19 日的测试中,测试代理通过 socks5h:// 收到主机名 api.ipify.org 和 ipinfo.io,通过 socks5:// 收到原始 IPv4 地址。

通过 SOCKS5 使用 curl,有无远程 DNS
# SOCKS5, hostname resolved by the proxy (recommended)
curl -s --socks5-hostname gw.steadyproxy.com:7778 --proxy-user USERNAME:PASSWORD https://api.ipify.org

# Same thing as a proxy URL: socks5h:// = the proxy resolves the hostname
curl -s -x "socks5h://USERNAME:[email protected]:7778" https://ipinfo.io/json

# For comparison only: socks5:// resolves the hostname on your own machine first
curl -s -x "socks5://USERNAME:[email protected]:7778" https://api.ipify.org

如何在 Python Requests 中使用 SOCKS5?

使用 python -m pip install "requests[socks]" 安装 SOCKS 附加组件,然后为 http 和 https 键都使用 socks5h:// URL。Requests 文档指出,socks5 在客户端解析 DNS,socks5h 在代理服务器上解析。如果用户名和密码包含 @ 或冒号等字符,请对其进行 URL 编码。下面的脚本于 2026 年 10 月 19 日通过带用户名和密码登录的测试 SOCKS5 服务器运行。

socks5_requests.py:通过 SOCKS5 使用远程 DNS 的 Requests
"""Python Requests through a SOCKS5 static proxy.

Install: python -m pip install "requests[socks]"
"""
import os
from urllib.parse import quote

import requests

HOST = os.environ.get("PROXY_HOST", "gw.steadyproxy.com")
PORT = os.environ.get("PROXY_SOCKS_PORT", "7778")
USER = quote(os.environ.get("PROXY_USER", "USERNAME"), safe="")
PASSWORD = quote(os.environ.get("PROXY_PASS", "PASSWORD"), safe="")

# socks5h:// sends the hostname to the proxy: DNS is resolved on the exit side
PROXY = "socks5h://" + USER + ":" + PASSWORD + "@" + HOST + ":" + PORT
PROXIES = {"http": PROXY, "https": PROXY}

with requests.Session() as session:
    session.trust_env = False
    response = session.get("https://ipinfo.io/json", proxies=PROXIES, timeout=(10, 30))
    response.raise_for_status()
    data = response.json()
    print(data.get("ip"), data.get("org"), data.get("country"), data.get("city"))

如何在 Firefox 或系统设置中设置 SOCKS5?

在 Firefox 中,打开“设置”,滚动到“网络设置”并点击“设置”。选择“手动代理配置”,在 SOCKS 主机中填写主机地址,在旁边的端口栏填写端口,并选择 SOCKS v5。勾选“使用 SOCKS v5 时代理 DNS”,然后点击“确定”。Firefox 的 SOCKS 面板没有用户名或密码字段,因此请为该 IP 使用 IP 白名单,或改用 HTTP 端口,Firefox 会在那里要求登录。

在 macOS 上,“系统设置”>“网络”> 你的连接 >“详细信息”>“代理”中有 SOCKS 代理条目。Windows 的代理设置针对 HTTP 代理,因此请改为在每个应用内设置 SOCKS5。Chrome 也支持通过其 --proxy-server 开关使用 SOCKS5 服务器;请参阅浏览器设置指南。

通过代理进行 DNS 解析为什么重要?

使用本地 DNS 时,你自己的解析器会看到你访问的每个主机名,而且它返回的服务器可能是根据你的位置而非代理的位置选择的。内容分发网络按地区应答 DNS,因此在法国的本地查询可能让一个通过英国 IP 发出的请求指向法国的服务器。远程 DNS(socks5h)让代理侧解析域名,这样目标服务器就会像对待该 IP 所在国家的访客那样作出应答。这使本地价格和搜索结果的检查更加准确。

如何检查 SOCKS5 设置是否有效?

通过 SOCKS5 端口打开 ipinfo.io/json,读取 ip、org 和 country 字段。然后通过同一静态 IP 的 HTTP 端口发送同样的请求:出口 IP 应当一致。要确认它在数小时内保持不变,请参阅如何检查代理是否为静态。“general SOCKS server failure”或身份验证错误通常意味着端口错误、密码错误,或源 IP 不在你的白名单中。

关于 SOCKS5 静态代理,人们还常问什么?

socks5:// 和 socks5h:// 有什么区别?

使用 socks5:// 时,你的机器解析主机名,只把 IP 地址发送给代理。使用 socks5h:// 时,主机名发送给代理,由代理解析。curl 和 Python Requests 都遵循这一规则。静态 IP 请使用 socks5h://,这样 DNS 应答与 IP 所在国家一致,且你的本地解析器看不到这些主机名。

SOCKS5 是加密的吗?

不是。SOCKS5 只转发连接;它不增加任何加密。RFC 1929 指出,其用户名和密码登录以明文传输密码。你的 HTTPS 流量通过隧道保持端到端加密,但代理登录不是。在不可信网络上,优先使用 IP 白名单,它完全不发送密码。

SOCKS5 提供的 IP 与 HTTP 端口不同吗?

对同一静态 IP 而言不应不同:两个端口通向同一个出口地址。通过每个端口分别发送 api.ipify.org 检查一次。如果两个结果不同,你可能使用了仪表盘中的两条不同凭据,或你机器上的系统代理接管了其中一个请求。

Chrome 可以使用带密码的 SOCKS5 代理吗?

Chrome 通过 --proxy-server 接受 SOCKS5 服务器,其文档显示那里没有用户名或密码字段。请使用 IP 白名单,这样 Chrome 无需登录,或让 Chrome 指向 HTTP 端口和本地转发器。我们的 Selenium 指南 包含针对该情况的经过测试的转发器脚本。

为什么 curl 说无法解析代理?

该消息说的是代理自身的主机,而不是目标。检查你仪表盘中主机的拼写、你的本地 DNS,以及任何阻止到 SOCKS5 端口出站流量的防火墙。用 curl -v 测试网络路径,它会打印 SOCKS5 握手的每个步骤,包括身份验证。

哪些应用可与 SOCKS5 静态代理配合使用?

大多数 HTTP 客户端、浏览器、抓取框架和命令行工具都接受 SOCKS5 设置,可在配置文件中设置,或通过 ALL_PROXY 设置。邮件发送将无法使用,因为端口 25、465 和 587 已关闭。每种用途都必须遵守我们的可接受使用政策。

在 SteadyProxy,带 SOCKS5 的静态 IP 多少钱?

每个套餐都免费包含 SOCKS5。截至 2026 年 10 月,一个 ISP IP 价格为 US$2.24,一个专用数据中心 IP 价格为 US$1.34,均为 30 天。更大套餐在 100 个 ISP IP 时降至 US$1.34/IP · 30 天。支付使用加密货币,无需 KYC;请参阅价格。

本指南使用了哪些来源? (5)
  1. RFC 1928:SOCKS 协议版本 5 — IETF (2026-10-19)
  2. RFC 1929:SOCKS V5 的用户名/密码身份验证 — IETF (2026-10-19)
  3. Requests 高级用法:SOCKS — Requests (2026-10-19)
  4. curl 手册页(--socks5-hostname、-x) — curl (2026-10-19)
  5. 在 Chrome 中配置 SOCKS 代理服务器 — The Chromium Projects (2026-10-19)

每个 ISP IP 低至 US$2.24 · 30 天 · 无需 KYC

查看价格