洞察

如何使用静态住宅代理:从购买到验证的完整教程

在浏览器、curl 和 Python 中配置静态住宅代理,验证出口 IP,并排查认证、超时、路由与地区问题。

电脑通过一个稳定的住宅 ISP 网关连接到已验证的网络端点

静态住宅代理可让浏览器或应用通过一个相对稳定、与 ISP 网络相关联的出口 IP 访问网络。可靠的最短流程是:复制五项连接参数、配置一个客户端、向 IP 查询接口发送请求,并通过多次检查确认返回预期的同一出口。下面的命令均使用占位符,只需替换成自己的连接参数。

配置前需要记录的参数

在 MIYAIP 后台打开已购买的静态代理记录,找到协议、主机、端口、用户名、密码、目标地区和到期时间。即使导出记录采用冒号分隔格式,客户端也可能要求分别填写各字段。

字段

读取位置

使用前检查

协议

已购买代理记录

严格使用页面显示的 HTTP 或 SOCKS5

主机和端口

连接端点

不要把代理端口与本地转发端口混淆

用户名和密码

认证字段

复制时不要带空格,并把两项都视为密钥

国家或州

分配详情

与工作负载所需地区核对

到期时间

套餐详情

排查客户端前先确认代理仍有效

从配置到请求与验证

  1. 1. 确认代理分配和客户端要求

    选择与已授权任务匹配的地区,确认客户端支持 HTTP、SOCKS5 或两者,并支持用户名和密码认证。记录套餐到期时间,避免日后把过期误判成网络故障。

  2. 2. 复制连接参数

    从已购买的代理记录中复制每个字段。如果后台导出为一行,请按以下顺序读取,且不要把真实值提交到仓库。

    PROXY_HOST:PROXY_PORT:PROXY_USER:PROXY_PASSWORD
    MIYAIP 静态住宅代理后台;完整代理格式、代理域名、IP、端口、用户名、密码和出口 IP 均已脱敏
    MIYAIP 后台中的连接字段;完整代理格式、代理域名、IP 地址、端口、用户名、密码和出口 IP 均已脱敏。
  3. 3. 把参数保存在脚本之外

    在当前 Shell 中设置环境变量,或从密钥管理工具加载。本文后续命令使用以下变量名。

    export PROXY_SCHEME="http"
    export PROXY_HOST="YOUR_PROXY_HOST"
    export PROXY_PORT="YOUR_PROXY_PORT"
    export PROXY_USER="YOUR_PROXY_USER"
    export PROXY_PASSWORD="YOUR_PROXY_PASSWORD"

    在 PowerShell 中使用 $env:PROXY_HOST 等同名变量。测试结束后清除当前 Shell 中的值。

  4. 4. 记录直连 IP 作为基线

    先在不使用代理的情况下查询 IP。它是后续证明请求确实经过代理线路的对照值。

    curl --fail --show-error --silent https://api.ipify.org
  5. 5. 使用 curl 通过代理发送请求

    根据购买记录选择对应命令。--proxy-user 将凭据与代理端点分开;curl 中的 socks5h 会通过 SOCKS5 代理解析目标域名。

    curl --fail --show-error --silent \
      --proxy "http://${PROXY_HOST}:${PROXY_PORT}" \
      --proxy-user "${PROXY_USER}:${PROXY_PASSWORD}" \
      https://api.ipify.org
    curl --fail --show-error --silent \
      --proxy "socks5://${PROXY_HOST}:${PROXY_PORT}" \
      --proxy-user "${PROXY_USER}:${PROXY_PASSWORD}" \
      https://api.ipify.org
    curl --fail --show-error --silent \
      --proxy "socks5h://${PROXY_HOST}:${PROXY_PORT}" \
      --proxy-user "${PROXY_USER}:${PROXY_PASSWORD}" \
      https://api.ipify.org

    Windows PowerShell 如果把 curl 映射为其他命令,请显式调用 curl.exe。

  6. 6. 配置浏览器或支持代理的客户端

    新建隔离的浏览器配置文件,选择相同协议,并把主机、端口、用户名和密码分别填入对应字段。首次验证时停用其他 VPN 或系统代理,先运行客户端自带的代理检查,再打开获准使用的 IP 查询页面并与购买记录核对。

  7. 7. 使用 Python 验证

    先安装带 SOCKS 支持的 requests,再运行下方脚本。HTTP 使用 requests 默认传输即可;socks5h 需要此安装命令包含的 PySocks 扩展。

    python -m pip install "requests[socks]==2.*"
    from datetime import datetime, timezone
    import os
    import sys
    import time
    from urllib.parse import quote
    
    import requests
    
    required = ["PROXY_HOST", "PROXY_PORT", "PROXY_USER", "PROXY_PASSWORD"]
    missing = [name for name in required if not os.getenv(name)]
    if missing:
        raise SystemExit(f"Missing environment variables: {', '.join(missing)}")
    
    scheme = os.getenv("PROXY_SCHEME", "http").lower()
    if scheme not in {"http", "socks5h"}:
        raise SystemExit("PROXY_SCHEME must be http or socks5h")
    
    user = quote(os.environ["PROXY_USER"], safe="")
    password = quote(os.environ["PROXY_PASSWORD"], safe="")
    host = os.environ["PROXY_HOST"]
    port = os.environ["PROXY_PORT"]
    proxy_url = f"{scheme}://{user}:{password}@{host}:{port}"
    proxies = {"http": proxy_url, "https": proxy_url}
    endpoint = os.getenv("IP_CHECK_URL", "https://api.ipify.org?format=json")
    interval = int(os.getenv("VERIFY_INTERVAL_SECONDS", "30"))
    
    def get_ip(proxy_config=None):
        with requests.Session() as session:
            session.trust_env = False
            response = session.get(endpoint, proxies=proxy_config, timeout=20)
            response.raise_for_status()
            return response.status_code, response.json()["ip"]
    
    print(f"verified_at_utc={datetime.now(timezone.utc).isoformat()}")
    print(f"client=Python {sys.version.split()[0]}, requests {requests.__version__}")
    
    direct_ip = "unavailable"
    try:
        direct_status, direct_ip = get_ip()
        print(f"direct_status={direct_status}")
    except requests.RequestException as error:
        print(f"direct_check_failed={type(error).__name__}", file=sys.stderr)
    print(f"direct_ip={direct_ip}")
    
    try:
        exits = []
        for attempt in range(3):
            status, exit_ip = get_ip(proxies)
            exits.append(exit_ip)
            print(f"t+{attempt * interval}s status={status} exit_ip={exit_ip}")
            if attempt < 2:
                time.sleep(interval)
        print(f"same_exit={len(set(exits)) == 1}")
        differs = "unavailable" if direct_ip == "unavailable" else direct_ip != exits[0]
        print(f"direct_differs_from_exit={differs}")
    except requests.RequestException as error:
        print(f"proxy_check_failed={type(error).__name__}", file=sys.stderr)
        raise SystemExit(1)
  8. 8. 判断多次检查结果

    直连 IP 应与代理出口不同;在有效套餐期间,三次代理检查通常应返回已分配的静态出口。如果 same_exit 为 false,先排除其他代理或 VPN,再与后台当前记录核对,并向服务商确认是否发生运行替换。

真实验证输出(已脱敏)

curl 验证于 2026-09-05T08:46:06Z 完成:直连与 HTTP 代理检查成功且出口 IP 不同,curl 8.16.0 通过 http、socks5 和 socks5h 均返回 HTTP 200。另一次 Python 3.12.14 / requests 2.31.0 尝试于 2026-09-05T08:49:16Z 以 ConnectionError 结束,未形成完整的三次代理请求记录,因此本文不宣称 Python 验证成功。下方所有地址均已脱敏。

真实验证输出(已脱敏)
curl_verified_at_utc=2026-09-05T08:46:06Z
curl=8.16.0
curl_http_status=200
curl_socks5_status=200
curl_socks5h_status=200
direct_and_http_exit_differed=true
python_attempted_at_utc=2026-09-05T08:49:16Z
client=Python 3.12.14, requests 2.31.0
python_result=ConnectionError
proxy_series_completed=false

可复用 Python 示例默认使用 30 秒间隔。本次记录没有完整执行,因此在作出任何稳定性结论前,应在获授权环境重新运行并保存脱敏的成功输出。记录中保留 UTC 日期、操作系统、客户端与依赖版本、请求地区、脱敏端点、间隔、状态码和出口检查结果,但绝不能保留凭据。

按症状排查

症状

准确检查项

下一步

407 Proxy Authentication Required

重新复制用户名和密码;检查字段顺序、套餐状态和 IP 白名单;使用 --proxy-user 重试

必要时重置凭据;向客服仅提供 UTC 时间和脱敏错误

连接超时

核对协议、主机和端口;检查 DNS 与出站防火墙;停用冲突 VPN;使用 curl --connect-timeout 10 --max-time 30

尝试服务商推荐网关,再提交不含凭据的时间与目标信息

代理请求仍返回直连 IP

在同一 Shell 分别运行直连和代理命令;添加 curl -v 确认连接的是代理主机;检查系统代理优先级

先修正选中的浏览器配置或路由,再测试目标页面

国家或州不匹配

用两个获准的 IP 数据库对照后台分配;确认所选地区,并区分国家级与州级结果

定位属于估计值;如果偏差影响已授权任务,申请复核或替换

常见问题

应该选择 HTTP 还是 SOCKS5?

选择已购买端点和客户端共同支持的协议。HTTP 足以处理浏览器和 Web 请求;SOCKS5 更通用,curl 中的 socks5h 还能通过代理解析目标域名。

为什么出口 IP 与购买记录不一致?

先检查网关、协议、端口、认证格式、本地转发规则和 VPN。确认代理线路无误后,再与后台当前记录比较,因为服务商可能因运行原因替换分配。

静态住宅 IP 会永久不变吗?

不会。它在有效分配期间通常保持稳定,但可能到期或按服务商政策替换。重要的已授权流程开始前,应检查到期时间并再次验证出口。

一个代理可以共享给多个环境吗?

应先检查服务商的并发与使用规则。即使技术上可复用,也应隔离无关环境和凭据。

从小规模开始

从一个已验证的静态 IP 开始

先配置一个端点,验证出口 IP 和地区,并运行小规模、已获授权的任务,确认稳定后再扩展到更多浏览器环境或应用。