可在Telegram上免费试用:法国 、英国 或新加坡 加入Telegram
Windows 配置

Windows 系统上的移动代理配置

Windows 并非只有一个代理设置——它有多个代理设置,且这些设置之间无法相互通信。本指南将介绍每个应用程序读取的是哪个层级、如何配置所有这些设置,以及如何查明哪个设置被忽略了。

PXM2 Proxies August 24, 2026 阅读时间 8 分钟
2 独立代理堆栈
10 和 11 支持的 Windows 版本
HTTP · SOCKS5 协议支持
5+ 可用国家数
  • 两个代理堆栈,而不是一个 — WinINET 为“设置”应用和浏览器提供服务;WinHTTP 为 Windows 服务和大部分命令行提供服务。
  • “设置”页面并非全局设置——它仅用于配置 WinINET,这就是为什么某个服务可以忽略 Windows 显示已启用的代理。
  • netsh 终于揭开了另一半的面纱 —— 一条命令即可设置 WinHTTP,再执行一条命令即可查看实际配置情况。
  • 有些应用程序既不读取 — curl、git 和 npm 仅遵循环境变量,而不考虑其他任何设置。
4G/5G移动代理 标准协议
协议支持HTTP(S), SOCKS5
会话类型固定或轮播
带宽无限
硬件专属4G/5G调制解调器
无需安装客户端

Windows 本身已经原生支持 HTTP(S) 和 SOCKS5。

全面覆盖

“设置”、netsh、环境变量和应用程序级对话框。

Windows 有两个代理堆栈,而不是一个

Windows 的代理配置之所以让人觉得不可靠,是因为没有一个单一的设置能确保一切正常。Windows 内置了两个完全独立的 HTTP 协议栈,每个都有自己的代理配置,且彼此之间无法读取对方的配置。软件会自动选用其开发者所使用的那个协议栈,而系统中没有任何提示会告诉你具体是哪一个。

WinINET 是较早的、面向用户的协议栈。它支持“设置”应用、Internet Explorer 的传统对话框、Edge 以及 Chrome。 WinHTTP 是一个面向服务的协议栈,专为在未登录用户状态下运行的软件而设计,它支持 Windows 服务以及大量后台和企业级软件。在“设置”中配置代理时,仅会配置 WinINET,而 WinHTTP 则完全不受影响。

图层 谁在阅读它 你设置的位置
WinINET Edge、Chrome、大多数桌面应用程序,以及“设置”页面本身 “设置”,然后是“网络和互联网”,再然后是“代理”
WinHTTP Windows 服务、后台更新程序、大量企业级软件 netsh winhttp set proxy 在高架车站内
环境变量 curl、git、npm、pip、Python 以及大多数已移植的命令行工具 按会话计费,或对您的用户账户永久生效
应用程序设置 Firefox、许多下载管理器、防检测浏览器 该应用程序自带的代理对话框

在进行任何更改之前,先弄清楚出错的应用程序属于哪一行。在错误的层面上三次输入相同的凭据,通常就是白白浪费一个下午的典型情形,而每次尝试时都觉得本该成功的。

在“设置”和 netsh 中配置代理

首先从“设置”页面开始,因为该页面涵盖了浏览器以及您实际会用到的绝大多数功能。打开“设置”,进入“网络和互联网”,然后选择“代理”。在“手动代理设置”下,打开开关,在“地址”字段中输入代理主机名,在“端口”字段中输入端口号,然后保存。 地址字段中只需填写主机名本身——不要输入以冒号分隔的字符串,也不要输入包含凭据的 URL。

当应用程序首次使用代理时,Windows 会提示输入用户名和密码。如果未出现提示,而是请求失败,则说明您的代理需要凭据,而 WinINET 对话框并未提供收集凭据的选项——此时请直接配置该应用程序。

WinHTTP 部分,来自一个具有提升权限的终端
netsh winhttp show proxy
netsh winhttp set proxy proxy-server="http=proxy.example.net:8000;https=proxy.example.net:8000"
netsh winhttp set proxy proxy-server="proxy.example.net:8000" bypass-list="<local>"
netsh winhttp import proxy source=ie
netsh winhttp reset proxy
示例终点。该导入命令会将 WinINET 设置复制过来。

值得了解的是“导入”行:它会将“设置”页面中的配置内容复制到 WinHTTP 中,因此只需配置一次,两个堆栈的设置就会保持一致。由于这是复制操作而非链接,因此在修改“设置”页面后必须重新运行该命令。 重置语句会将 WinHTTP 恢复为“直接”模式,当原本正常运行的服务突然停止工作时,这应是首先尝试的解决方法。

WinHTTP 的配置属于系统范围,因此终端必须以管理员身份运行。而“设置”页面仅适用于您的用户帐户,完全无需提升权限。

浏览器、终端和单个应用程序

Edge 和 Chrome 都遵循 WinINET,这意味着只需在“设置”页面进行配置即可,无需其他操作。Firefox 是一个值得记住的例外:它在网络设置中自带了一个代理对话框,虽然默认情况下会遵循系统设置,但任何之前曾手动设置过代理的用户都会发现,在将该对话框改回默认之前,它会顽固地无视 Windows 的设置。

命令行是一个截然不同的世界。从 Unix 移植过来的工具——curl、git、npm、pip 以及大多数 Python 代码——只读取环境变量,除此之外什么都不读。Windows 并没有与之对应的“设置”页面。

命令行的环境变量
:: Current session only (Command Prompt)
set HTTP_PROXY=http://user123:[email protected]:8000
set HTTPS_PROXY=http://user123:[email protected]:8000
set NO_PROXY=localhost,127.0.0.1

:: Persist for your user account
setx HTTP_PROXY "http://user123:[email protected]:8000"

# PowerShell, current session only
$env:HTTP_PROXY = "http://user123:[email protected]:8000"
$env:HTTPS_PROXY = "http://user123:[email protected]:8000"
示例端点和凭据

请注意,HTTPS_PROXY 仍接受 http:// 这种方案。该方案描述的是如何连接到代理,而非目标的协议——客户端通过该代理建立隧道,而 TLS 则在该隧道内端到端运行。在此处写入 https:// 是常见且容易引起混淆的错误。

使用 setx 命令将这些设置永久化会将密码写入您的用户环境,您运行的任何进程都能读取该密码。在共享或受管理的计算机上,建议按会话进行设置,或者请服务提供商将该计算机的地址加入白名单,这样就完全不需要输入凭据了。该 设置概述 对此权衡进行了更详细的阐述。

当 Windows 显示代理已启用,但没有任何程序使用它时

几乎所有的 Windows 代理问题都是层级问题,而非凭据问题。在更改任何设置之前,请先弄清楚出现问题的应用程序实际看到的是什么。

1. 确定出现故障的应用程序
不是机器——而是具体的程序。当构建工具出现故障时,浏览器仍能正常运行,这并不意味着代理服务器出了问题,而是两个不同的层级完全按照设计正常运行。
2. 确认该端点是否能正常工作
使用您信任的工具通过代理发送一条请求,此时应显式指定代理,而非依赖任何系统设置。这样,仅需一条命令,就能区分是代理出现故障,还是设置应用错误。
3. 阅读这两份配置文件
运行 netsh winhttp show proxy 命令查看 WinHTTP 的代理设置,并打开 WinINET 的“代理”页面。如果两者不一致,你就找到了问题所在——确定出现故障的应用程序读取的是哪一个,然后修复该设置。
4. 检查该应用程序是否拥有自己的对话框
Firefox、下载管理器和反检测浏览器都会保留各自的设置,且以各自的设置为准。系统代理无法覆盖已被设置为直接连接的应用程序。
症状 最可能的原因
浏览器通过代理连接,而 Windows 服务则不是 WinHTTP 从未被设置过。请运行导入命令,或显式设置该变量。
curl 或 git 会返回真实的 IP 地址 没有环境变量。两个 Windows 堆栈都无法访问这些工具。
反复出现的身份验证提示 凭据被发送到了错误的端口。HTTP 和 SOCKS5 使用不同的端口,且登录方式各不相同。
配置成功后,一切都失效了 一个过期的 WinHTTP 条目,其指向的位置已不存在。请将其重置并重新设置。
只有 Firefox 会忽略代理设置 其自身的连接设置已设为“手动”或“不使用代理”。

如果您更愿意在浏览器中而不是终端中确认端点,那么 免费的 PXM2 代理检测工具 对其进行测试,并报告检测到的代理类型和出口国家。

获取适用于 Windows 的移动代理

PXM2 实时节点位置——选择您需要出口 IP 的国家/地区,并按照本页的步骤进行配置:

🇫🇷

法国

3 名操作员 20-150 Mbps
从……开始
$4.34 1小时时长
4G 5G
可用运算符:
SFR Bouygues Orange
🇮🇳

印度

3 名操作员 20-30 Mbps
从……开始
$2.74 1小时时长
4G
可用运算符:
Airtel Jio Vodafone Idea (Vi)
🇸🇬

新加坡

2 名操作员 30-70 Mbps
从……开始
$2.99 1小时时长
4G
可用运算符:
Vivifi Singtel
查看所有地点 →

常见问题解答

如何在 Windows 11 上设置代理?

打开“设置”,进入“网络和互联网”,然后选择“代理”,在“手动代理设置”下输入主机名和端口,最后保存。这适用于 Edge、Chrome 以及大多数桌面应用程序。但不适用于 Windows 服务或命令行工具,这些工具会读取您通过 netsh 设置的单独配置。

Windows 的代理设置与 netsh winhttp 之间有什么区别?

它们配置了两个独立的配置堆栈。 “设置”页面用于写入浏览器和普通桌面软件所使用的 WinINET 配置。netsh winhttp 命令则用于写入 Windows 服务和大量后台软件所使用的 WinHTTP 配置。其中一项设置不会影响另一项,这也是 Windows 代理看似仅部分生效的最常见原因。

为什么我的 Windows 代理在某些应用程序中无法正常工作?

因为这些应用程序读取的是你未曾设置过的配置。curl、git 和 npm 等命令行工具会参考环境变量;Windows 服务会参考 WinHTTP;Firefox 则拥有自己的代理设置对话框。这些配置各自独立于“设置”页面,因此解决方法是配置出现问题的应用程序实际读取的那个层,而不是在其他地方再次设置相同的值。

如何查看 Windows 正在使用哪个代理?

在终端中运行命令 `netsh winhttp show proxy` 以查看 WinHTTP 配置,然后依次打开“设置”→“网络和互联网”→“代理”以查看 WinINET 配置。接着,通过出现故障的工具发起一次请求,并将该请求的出口 IP 地址与您的实际 IP 地址进行对比,因为配置是否存在,并不意味着应用程序会实际使用该配置。

在 Windows 上设置代理时,是否需要管理员权限?

“设置”页面除外,该页面仅适用于您自己的用户账户。执行 `netsh winhttp set proxy` 命令时确实需要以管理员身份运行终端,因为 WinHTTP 配置属于系统范围。而环境变量则无需提升权限即可按用户进行设置。

每个操作系统都存在同样多层次的问题,而每个系统的解决方法各不相同。

设置指南

核心移动代理指南

在真实运营商IP地址后运行Windows

专用的 4G/5G 调制解调器,提供无限带宽和无限轮询——支持 Windows 原生识别的 HTTP(S) 和 SOCKS5 端点,无需安装客户端。

获取移动代理