Php 基于网络连接使用HTTP基本授权获取文件内容
我正在使用带有HTTP基本授权的文件_get_contents()从我的Php 基于网络连接使用HTTP基本授权获取文件内容,php,file-get-contents,basic-authentication,http-authentication,Php,File Get Contents,Basic Authentication,Http Authentication,我正在使用带有HTTP基本授权的文件_get_contents()从我的$url获取内容: $url = "http://example.com"; $cred = sprintf('Authorization: Basic %s', base64_encode('username:password')); $opts = array( 'http' => array( 'method' => 'GET', 'header' => $cr
$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获取内容,而无需询问用户名和密码,但如果我连接到任何其他网络连接,则应要求用户输入用户名和密码
如果我没有弄错的话,我需要用PHP使用HTTP身份验证
,但是我不知道如何将其集成到我的代码中,并使其基于网络连接执行,但并不总是这样
如果有人能在这件事上帮助我,我将不胜感激 主要问题是检测您连接的网络。您必须运行
ipconfig
或ifconfig
,甚至可能运行route
命令来检查/解析您所连接的网络。如果您已经解决了这个问题,您可以使用一个简单的If()
语句来包含用户名/密码。主要问题是检测您连接的网络。您必须运行ipconfig
或ifconfig
,甚至可能运行route
命令来检查/解析您所连接的网络。如果您已经解决了这个问题,您可以使用一个简单的If()
语句来包含用户名/密码