file_get_contents с базовой HTTP-авторизацией на основе сетевого подключения

Я использую file_get_contents () с базовой авторизацией HTTP, чтобы получить контент от моего $url:

$url = "http://example.com";
$cred = sprintf('Authorization: Basic %s', base64_encode('username:password'));
$opts = array(
'http' => array(
'method' => 'GET',
'header' => $cred
)
);
$ctx = stream_context_create($opts);
$data = file_get_contents($url, false, $ctx);

Когда у меня есть правильное имя пользователя и пароль в моем коде, я могу получить контент из URL совершенно нормально, независимо от того, к какому сетевому соединению я был подключен.

Но я хочу сделать это на основе сетевого подключения. Например, если я подключился к своей локальной сети, он может получать содержимое с URL-адреса, не спрашивая имя пользователя и пароль, но если я подключился к любому другому сетевому подключению, пользователю нужно будет ввести имя пользователя и пароль.

Если я не ошибаюсь, мне нужно использовать HTTP authentication with PHPОднако я не знаю, как я могу интегрировать его в мой код и заставить его выполняться на основе сетевого подключения, но не всегда.

Буду очень признателен, если кто-нибудь сможет мне помочь в этом вопросе.

1

Решение

Основная проблема — определить, к какой сети вы подключены. Ты должен бежать ipconfig или же ifconfigможет быть, даже route Команда для проверки / анализа, к какой сети вы подключены. Если вы решили эту проблему, вы можете использовать простой if () заявление, чтобы включить имя пользователя / пароль или нет.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector