Per una normale richiesta HTTP senza cURL di PHP, passa un contesto proxy al wrapper di flusso HTTP:

$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);

Sostituisci l'endpoint di documentazione con il tuo proxy HTTP o con un candidato della lista di proxy HTTP. L'interfaccia del contesto HTTP attende un indirizzo TCP per proxy. request_fulluri=trueinserisce l'URI di destinazione completa nella riga di richiesta, come richiedono molti proxy diretti. Il timeout limita l'operazione di flusso secondo le regole di quel wrapper.

Controlla il valore restituito e l'avviso prima di analizzare il corpo; una lettura non riuscita e una risposta vuota riuscita richiedono gestioni diverse. Inizia la diagnosi con questa singola destinazione HTTP e una richiesta limitata. HTTPS aggiunge tunneling e comportamento TLS che vanno verificati per la versione effettiva del wrapper e di PHP; questo esempio non dimostra tali capacità.

Passare il contesto in questa chiamata mantiene visibile il percorso ed evita di modificare letture di URL non correlate. Un contesto predefinito condiviso è appropriato solo quando l'applicazione vuole deliberatamente quella politica; le librerie dovrebbero tenere conto della sua portata più ampia.

Questo configura i flussi di PHP, non un handle cURL creato indipendentemente, un browser o un altro processo. Identifica il trasporto HTTP effettivo di un pacchetto prima di aspettarti che usi questo contesto.

Articoli correlati