Pre bežnú HTTP požiadavku bez PHP cURL odovzdajte kontext proxy obalu HTTP streamu:

$context = stream_context_create([
    'http' => [
        'proxy' => 'tcp://203.0.113.10:8080',
        'request_fulluri' => true,
        'timeout' => 10,
    ],
]);
$body = file_get_contents('http://example.com/', false, $context);

Nahraďte dokumentačný koncový bod svojím HTTP proxy alebo kandidátom z zoznamu HTTP proxy. Rozhranie kontextu HTTP očakáva adresu TCP pre proxy. request_fulluri=trueumiestni celý cieľový URI do riadku požiadavky, ako to vyžaduje veľa dopredných proxy. Časový limit obmedzuje operáciu streamu podľa pravidiel tohto obalu.

Pred analýzou tela skontrolujte vrátenú hodnotu a upozornenie; neúspešné čítanie a prázdna úspešná odpoveď vyžadujú odlišné spracovanie. Diagnostiku začnite týmto jediným cieľom HTTP a obmedzenou požiadavkou. HTTPS pridáva tunelovanie a správanie TLS, ktoré treba overiť pre skutočnú verziu obalu a PHP; tento príklad tieto schopnosti nepotvrdzuje.

Odovzdanie kontextu pri tomto volaní udržiava trasu viditeľnou a zabraňuje zmene nesúvisiacich čítaní URL. Zdieľaný predvolený kontext je vhodný len vtedy, keď aplikácia túto politiku zámerne chce; knižnice by mali brať do úvahy jeho širší rozsah.

Toto konfiguruje streamy PHP, nie nezávisle vytvorený identifikátor cURL, prehliadač alebo iný proces. Predtým, než budete očakávať, že balík použije tento kontext, zistite jeho skutočnú HTTP dopravu.

Súvisiace články