我正在使用带有HTTP基本授权的file_get_contents()来获取$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);
当我的代码中有正确的用户名和密码时,无论我连接到哪个网络连接,我都可以完全正确地从网址获取内容。
但是,我想根据网络连接来制作它。例如,如果我连接到我的局域网,它可以从网址获取内容而不需要用户名和密码,但如果我连接到任何其他网络连接,则应要求用户输入用户名和密码。
如果我没有弄错,我需要使用HTTP authentication with PHP
,但我不知道如何将其集成到我的代码中并根据网络连接执行,但并非总是如此。
如果有人能在这件事上帮助我,我将非常感激。
答案 0 :(得分:0)
主要问题是检测您所连接的网络。您必须运行ipconfig
或ifconfig
,甚至是route
命令来检查/解析您所连接的网络。如果您已经解决了这个问题,可以使用简单的if ()
语句来包含用户名/密码。