PHP cURLгүй энгийн HTTP хүсэлтийн хувьд HTTP урсгалын wrapper-т прокси контекст дамжуулна:

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

Баримт бичгийн төгсгөлийн цэгийг өөрийн HTTP прокси эсвэл HTTP прокси жагсаалтаас нэр дэвшигчээр солино. HTTP контекстийн интерфэйс proxy -д TCP хаяг шаарддаг. request_fulluri=true бүрэн очих URI-г хүсэлтийн мөрөнд тавьдаг бөгөөд олон урагшлах прокси үүнийг шаарддаг. Таймаут нь тухайн wrapper-ийн дүрмийн дагуу урсгалын үйлдлийг хязгаарладаг.

Биеийг задлан шинжлэхээс өмнө буцаасан утга болон анхааруулгыг шалгана; уншилт бүтэлгүйтсэн болон хоосон амжилттай хариу өөр өөр харьцах шаардлагатай. Оношилгоог энэ нэг HTTP очих газар болон хязгаарлагдмал хүсэлтээр эхлүүлнэ. HTTPS нь туннель болон TLS зан төлөвийг нэмдэг бөгөөд бодит wrapper/PHP хувилбарт шалгах шаардлагатай; энэ жишээ тэдгээр боломжийг батлахгүй.

Энэ дуудлагад контекст дамжуулснаар маршрут харагдахуйц хэвээр байх ба холбоогүй URL уншилтыг өөрчлөхөөс зайлсхийнэ. Хуваалцсан анхдагч контекст нь аппликейшн тухайн бодлогыг санаатайгаар хүсэх үед л тохиромжтой; сангууд түүний илүү өргөн хүрээг харгалзах ёстой.

Энэ нь PHP урсгалыг тохируулдаг бөгөөд бие даан үүсгэсэн cURL бариул биш, хөтөч эсвэл өөр процесс биш. Багц энэ контекстийг ашиглана гэж хүлээхээс өмнө түүний бодит HTTP тээврийг тодорхойлно.

Холбоотой нийтлэлүүд