我正在尝试通过http从Android设备访问我的Netgear R8000路由器Web界面,但它总是返回401页面。我已经设置了标题以使用基本身份验证。
我的目标是从Netgear R8000路由器配置Web界面访问传输的数据量(数据使用量)。我正在Android设备上托管的php页面进行调用,但即使在设置了基本身份验证的标题后,我总是得到401响应。
这就是我目前的情况:
<?php
$login = 'admin';
$password = 'password';
$url = 'http://192.168.1.1/traffic_meter.htm';
$process = curl_init($host);
curl_setopt($process, CURLOPT_URL,$url);
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($process, CURLOPT_USERPWD, "$login:$password");
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_HTTPGET, 1);
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($process);
curl_close($process);
echo $return;
?>
我还试图手动指定Authorization标头,但结果是一样的。但是,如果我使用PostMan(在同一网络上的PC上)进行相同的呼叫,它将按预期工作。
我确保Android设备使用相同的IP地址连接到路由器。
有人可以帮我理解为什么这不起作用吗?