Apache的基本身份验证

时间:2012-11-13 19:34:15

标签: php api authentication

我在Apache服务器上启用了基本身份验证。服务器托管我实现的API,我想要做的是从我的PHP脚本调用此API。我想到了如何创建标题:

$user = 'my_name_api';
$pwd = 'xxxxxxxxx';
$auth_string = $user . ':' . $pwd;
$auth_b64 = base64_encode($auth_string);
$header   = 'Authorization: Basic ' . $auth_b64;

如何在API调用中包含$标头?我正在寻找除cURL之外的其他东西,而且我没有使用像zend等的任何环境(看过Zend等的一些例子,但我没有使用任何这些)。

2 个答案:

答案 0 :(得分:1)

如果您不需要SSL或代理支持,则可以将file_get_contents()与流上下文一起使用。流上下文可以包含HTTP标头:

$opts = array
(
  'http'=>array
  (
    'method' => "GET",
    'header' => "Authorization: ..."
  )
);
$context = stream_context_create($opts);
$file = file_get_contents('http://www.example.com', false, $context);

有关此here的详情。

答案 1 :(得分:1)

您是否尝试过fopen / file_get_contents?

从这里开始:http://php.net/manual/en/function.fopen.php

或此处:http://www.php.net/manual/en/function.file-get-contents.php

让我知道它是怎么回事......

airyt