PHP file_get_contents көмегімен прокси арқылы HTTP URL алу
PHP-ның HTTP ағын қаптамасын форвардтық прокси үшін конфигурациялаңыз, оның ішінде сұраныс пішімдеу және ағын контекстілерінің шектеулері.
PHP cURL-сіз қарапайым HTTP сұранысы үшін 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);
Құжаттама соңғы нүктесін өз HTTP проксиіңізбен немесе HTTP проксилер тізімінен үміткермен ауыстырыңыз. HTTP контекст интерфейсі proxy үшін TCP мекенжайын күтеді. request_fulluri=true толық межелі URI-ді сұраныс жолына қояды, көптеген форвардтық проксилер осыны талап етеді. Таймаут сол қаптама ережелеріне сай ағын операциясын шектейді.
Денесін талдаудан бұрын қайтарылған мәнді және ескертуді тексеріңіз; сәтсіз оқу мен бос сәтті жауап әртүрлі өңдеуді қажет етеді. Диагностиканы осы бір HTTP межелі және шектелген сұраныспен бастаңыз. HTTPS туннельдеу мен TLS әрекетін қосады, оларды нақты қаптама/PHP нұсқасы үшін тексеру керек; бұл мысал сол мүмкіндіктерді дәлелдемейді.
Контексті осы шақыруда беру маршрутты көрінетін күйде ұстайды және байланыссыз URL оқуларын өзгертуден аулақ болуға көмектеседі. Ортақ әдепкі контекст қана қолданба бұл саясатты әдейі қалағанда орынды; кітапханалар оның кеңірек ауқымын ескеруі керек.
Бұл PHP ағындарын конфигурациялайды, дербес құрылған cURL дескрипторын емес, сондай-ақ браузерді немесе басқа процесті қамтымайды. Пакеттің осы контексті қолданатынын күтпес бұрын оның нақты HTTP тасымалын анықтаңыз.