W przypadku zwykłego żądania HTTP bez PHP cURL przekaż kontekst proxy do opakowania strumienia 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);

Zastąp punkt końcowy dokumentacji swoim proxy HTTP lub kandydatem z listy proxy HTTP. Interfejs kontekstu HTTP oczekuje adresu TCP dla proxy. request_fulluri=trueumieszcza pełny identyfikator URI miejsca docelowego w wierszu żądania, jak wymaga wiele proxy przekazujących. Limit czasu ogranicza operację strumienia zgodnie z regułami tego opakowania.

Sprawdź zwróconą wartość i ostrzeżenie przed analizą treści; nieudany odczyt i pusta udana odpowiedź wymagają innego postępowania. Rozpocznij diagnostykę od tego jednego miejsca docelowego HTTP i ograniczonego żądania. HTTPS dodaje tunelowanie i zachowanie TLS, które trzeba sprawdzić dla rzeczywistej wersji opakowania i PHP; ten przykład nie potwierdza tych możliwości.

Przekazanie kontekstu w tym wywołaniu utrzymuje trasę widoczną i pozwala uniknąć zmiany niepowiązanych odczytów URL. Wspólny kontekst domyślny jest właściwy tylko wtedy, gdy aplikacja świadomie chce tej polityki; biblioteki powinny uwzględniać jego szerszy zakres.

To konfiguruje strumienie PHP, a nie niezależnie utworzony uchwyt cURL, przeglądarkę ani inny proces. Ustal rzeczywisty transport HTTP pakietu, zanim zaczniesz oczekiwać, że użyje tego kontekstu.

Powiązane artykuły