I en Guzzle 7-anmodning, der bruger cURL-handleren, bruger curl-optionarrayet på lavt niveau PHPs heltalskonstanter CURLOPT som nøgler:

$options = [
    'curl' => [
        CURLOPT_PROXY => 'proxy.example',
        CURLOPT_PROXYPORT => 8080,
    ],
];

Behold den ydre Guzzle-nøgle 'curl' i anførselstegn. Sæt ikke CURLOPT_PROXY eller CURLOPT_PROXYPORT i anførselstegn. Hvis du skriver 'CURLOPT_PROXY', oprettes en almindelig streng med det navn; PHP omdanner den ikke til konstantens numeriske værdi.

Denne forskel forklarer advarslen fra curl_setopt_array om, at nøgler skal være CURLOPT-konstanter eller tilsvarende heltal. Kontrollér arrayets form, før du ændrer proxyadressen eller kontoen: advarslen handler om konfiguration af handleren, ikke om bevis for, at den eksterne proxy afviste en forbindelse.

Når der ikke er brug for cURL-adfærd på lavt niveau, er Guzzles normale anmodningsoption enklere:

$options = [
    'proxy' => 'http://proxy.example:8080',
];

Vælg den tilsigtede grænseflade, og hold dens nøgletyper konsistente. Når formen er gyldig, kan en HTTP-post fra HTTP-proxylisten levere endpointet til en tilladt anmodning til en offentlig URL uden en proxykonto. Curl-arrayet på lavt niveau kræver cURL-handleren; en anden handler bliver ikke cURL, blot fordi arrayet findes.

Relaterede artikler