用 PHP 和 Guzzle 接住宅代理:proxy 选项怎么填、怎么测通

Guzzle 可用原生 proxy 选项接控制台住宅凭据,用户名密码需 URL 编码。示例为假占位符,须渲染为真代码块。不支持中国大陆。

Guzzle 可用原生 proxy 选项接控制台住宅凭据,用户名密码需 URL 编码。示例为假占位符,须渲染为真代码块。不支持中国大陆。

先从控制台复制协议、主机、端口、认证,再写进 Guzzle。Guzzle 的 `proxy` 请求选项通常可以直接使用 HTTP 代理 URL,这一点和 Axios 常见要额外加 agent 并关闭内置 `proxy` 不同,见用 Node.js 和 Axios 接住宅代理。Python 写法见用 Python 接住宅代理。

ZTProxy 提供动态住宅(按 GB)与静态住宅(按 IP·月)。示例是假占位符,不要当成生产地址。仅限授权目标。不支持中国大陆使用。

开始前备齐什么

准备项从哪里来
协议、主机、端口、认证仅控制台返回值(不用本文假占位符)
PHP 与 `guzzlehttp/guzzle`本机环境
测通 URL你有权访问的 HTTPS 目标
动态或静态订单动态 vs 静态

占位符(非生产):主机 `proxy.example.invalid`,端口 `10000`,用户 `USER_EXAMPLE`,密码 `PASS_EXAMPLE_NOT_REAL`。字符串格式见代理格式,协议见HTTP / SOCKS5 配置。命令以文档快速开始为准。也可用 curl 测通 先核对同一组凭据。

推荐写法:Guzzle 的 proxy 选项

把凭据放在环境变量里。用户名或密码含 `@`、`:` 时先做 URL 编码。不要编造用户名里的国家或会话字段。

<?php

require __DIR__ . "/vendor/autoload.php";

use GuzzleHttp\Client;

$user = rawurlencode(getenv("ZT_PROXY_USER") ?: "USER_EXAMPLE");
$pass = rawurlencode(getenv("ZT_PROXY_PASS") ?: "PASS_EXAMPLE_NOT_REAL");
$host = getenv("ZT_PROXY_HOST") ?: "proxy.example.invalid";
$port = getenv("ZT_PROXY_PORT") ?: "10000";

$client = new Client([
    "proxy" => "http://{$user}:{$pass}@{$host}:{$port}",
    "timeout" => 30,
]);

$res = $client->request("GET", "https://example.com");
echo $res->getStatusCode(), "\n";

SOCKS5 仅在控制台返回 SOCKS、且你使用能处理 SOCKS 的处理器时才需要,且不要假设提供 UDP。不要另外再叠一层系统环境代理,以免请求被带走或加两次。

会话与常见问题

复用同一个 `Client` 可能复用到网关的连接,这不是静态 IP,也不自动等于粘性会话。见粘性 ≠ 静态。

现象先检查什么
407用户名密码、URL 编码、订单是否有效
仍显示本机 IP`proxy` 是否传到该次 request;是否被环境变量覆盖
超时协议和端口是否与控制台一致;是否误用假主机
地区不对订单地区;不要自造用户名语法

更完整的症状表见407 与超时排查。

合规与范围

只用于授权目标。不要把本页写成绕过限制的教程。价格以控制台与价格方案为准(动态约 $0.40/GB,100 TB 整包约 $0.20/GB;静态共享约 $1.50、独享约 $5 /IP/月)。USDT/USDC 可用;Visa/Mastercard 申请中。不支持中国大陆使用。

FAQ

为什么这里能直接用 proxy 选项,Axios 却不行?

客户端实现不同。Axios 对 HTTPS 隧道常常要额外的 agent;Guzzle 的 `proxy` 选项通常可以直接用。两种写法都要以控制台凭据为准。

示例主机能直接用吗?

不能。必须改成控制台返回值。

可以在用户名里自己加 -country-us 吗?

不要自造语法。只有控制台或文档写明的字段才能用。

复用 Client 会保持同一 IP 吗?

不一定。连接复用 ≠ 静态,也不自动等于粘性。

要装额外的 PHP 代理扩展吗?

本例只使用 Guzzle 的官方 `proxy` 选项,不要求虚构的产品扩展。

可以用来突破登录限制吗?

不可以。仅限合法授权目标。

PHP 和 Python / Node 选哪个?

取决于你的运行时。凭据来源相同:都是控制台。

价格以哪里为准?

以控制台与价格方案为准。

下一步

  1. 从控制台复制真实字段。
  2. 对授权目标测通。
  3. 需要选型时打开动态或静态。