PHP cURL olmadan sıradan bir HTTP isteği için HTTP akış sarmalayıcısına bir proxy bağlamı geçirin:

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

Belge uç noktasını HTTP proxy'nizle veya HTTP proxy listesinden bir adayla değiştirin. HTTP bağlam arayüzü proxy için bir TCP adresi bekler. request_fulluri=true tam hedef URI'yi istek satırına koyar; birçok yönlendirici proxy bunu gerektirir. Zaman aşımı, akış işlemini o sarmalayıcının kurallarına göre sınırlar.

Gövdeyi ayrıştırmadan önce dönen değeri ve uyarıyı kontrol edin; başarısız bir okuma ile boş başarılı yanıt farklı işlem gerektirir. Tanılamaya bu tek HTTP hedefi ve sınırlı istekle başlayın. HTTPS, gerçek sarmalayıcı/PHP sürümü için kontrol edilmesi gereken tünelleme ve TLS davranışı ekler; bu örnek bu yetenekleri kanıtlamaz.

Bağlamı bu çağrıda geçirmek rotayı görünür tutar ve ilgisiz URL okumalarını değiştirmekten kaçınır. Paylaşılan varsayılan bağlam yalnızca uygulama bu politikayı bilerek istediğinde uygundur; kitaplıklar daha geniş kapsamını hesaba katmalıdır.

Bu, PHP akışlarını yapılandırır; bağımsız olarak oluşturulmuş bir cURL tanıtıcısını, bir tarayıcıyı veya başka bir süreci değil. Bir paketin bu bağlamı kullanmasını beklemeden önce gerçek HTTP taşımasını belirleyin.

İlgili makaleler