Чтобы использовать file_get_content через / через прокси, который не требует аутентификации, нужно сделать что-то вроде этого:
(я не могу проверить это: мой прокси требует аутентификации)
$aContext = array(
'http' => array(
'proxy' => 'tcp://192.168.0.2:3128',
'request_fulluri' => true,
),
);
$cxContext = stream_context_create($aContext);
$sFile = file_get_contents("http://www.google.com", False, $cxContext);
echo $sFile;
Конечно, заменив IP и порт моего прокси на те, которые вам подойдут; -)
Если вы получаете такую ошибку:
Warning: file_get_contents(http://www.google.com) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 407 Proxy Authentication Required
Это означает, что ваш прокси-сервер требует аутентификации.
Если прокси-сервер требует аутентификации, вам нужно будет добавить пару строк, например:
$auth = base64_encode('LOGIN:PASSWORD');
$aContext = array(
'http' => array(
'proxy' => 'tcp://192.168.0.2:3128',
'request_fulluri' => true,
'header' => "Proxy-Authorization: Basic $auth",
),
);
$cxContext = stream_context_create($aContext);
$sFile = file_get_contents("http://www.google.com", False, $cxContext);
echo $sFile;
То же самое относится к IP и порту, на этот раз также LOGIN и PASSWORD; -)
Теперь вы передаете в прокси заголовок Proxy-Authorization , содержащий ваш логин и пароль.
И ... Страница должна отображаться; -)