HTTP基本身份验证使用“授权:基本”失败.base64_encode(“$ user:$ pass”)

时间:2013-09-29 04:28:26

标签: authentication php http

我在我的本地PHP服务器上试过这个代码......一切都很完美.. 但是当我将此脚本上传到Web托管服务器时,身份验证不起作用。有人可以解释为什么这个脚本不适用于webserver?

"Authorization: Basic " . base64_encode("$username:$password")

脚本:

$url = 'http://xxx.xxx.xxx.xxx:9080/apex/api/query?filtername=UNITSUMM&PARM_CONTAINER='.$contrNo.'&operatorId=BIG&complexId=KSA&facilityId=DMM&yardId=RRY';
$context = stream_context_create(array(
    'http' => array(
    'header'  => "Authorization: Basic " . base64_encode("$username:$password")
    )
));

$data = @file_get_contents($url, false, $context);
$convert = explode("\n", $data);

1 个答案:

答案 0 :(得分:1)

如果您可以发布您正在查看的任何错误消息,或者您可以在错误日志中找到它,将会很有帮助。

可能是您的托管服务提供商不允许到端口9080的传出连接,或者根据其他一些条件阻止您的连接。

如果您打印出base64_encode(“$ username:$ password”)的值,您可能可以调试脚本 - 可能其中一个变量没有设置为正确的值。