在php中进行http基本身份验证

时间:2013-01-10 08:05:16

标签: php curl

我对php很新。我来自Java背景,我希望我应该做一个Http基本身份验证。

我在Groovy执行此过程,如下所示:

def authString = "${key}:".getBytes().encodeBase64().toString()
def conn = url.toURL().openConnection()
conn.setRequestProperty("Authorization", "Basic ${authString}")

我如何在php中执行此操作?

目前,我正在使用curl中的php。但如果我能在没有php中的curl选项的情况下实现类似的东西,那将是很好的。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您有$ user和$ pass,则会执行以下代码。

curl_setopt($curl, CURLOPT_USERPWD, "$user:$pass"); 

没有卷曲,你可以使用stream_context_create函数来完成。

$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Authorization: Basic ".base64_encode("$user:$pass")."\r\n"
  )
);

$context = stream_context_create($opts);
$fp = fopen('http://www.example.com', 'r', false, $context);
// read the content from $fp here.
fclose($fp);