Pentru o cerere HTTP obișnuită fără cURL din PHP, transmiteți un context de proxy wrapperului de flux 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);

Înlocuiți punctul final de documentație cu proxyul dvs. HTTP sau cu un candidat din lista de proxyuri HTTP. Interfața de context HTTP așteaptă o adresă TCP pentru proxy. request_fulluri=truepune URI-ul de destinație complet în linia cererii, așa cum cer multe proxyuri de redirecționare. Timeoutul limitează operația de flux conform regulilor acelui wrapper.

Verificați valoarea returnată și avertismentul înainte de a analiza corpul; o citire eșuată și un răspuns gol reușit necesită tratamente diferite. Începeți diagnosticarea cu acest singur obiectiv HTTP și o cerere limitată. HTTPS adaugă tunelare și comportament TLS care trebuie verificate pentru versiunea reală a wrapperului și a PHP; acest exemplu nu stabilește aceste capacități.

Transmiterea contextului la acest apel păstrează ruta vizibilă și evită modificarea citirilor de URL nelegate. Un context implicit partajat este potrivit doar când aplicația dorește în mod deliberat această politică; bibliotecile ar trebui să țină cont de sfera sa mai largă.

Aceasta configurează fluxuri PHP, nu un handle cURL creat independent, un browser sau alt proces. Identificați transportul HTTP real al unui pachet înainte de a vă aștepta să folosească acest context.

Articole similare