2013-01-10 57 views
0

我对php很陌生。我来自Java背景,我希望我应该做一个Http基本认证。在php中执行http基本认证

我做这个过程中Groovy这样的:

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

如何在php做到这一点?

目前我在phpcurl。但如果我可以在php中没有curl选项的情况下实现类似的功能,那将会很好。

在此先感谢。

+0

看看这个http://www.rooftopsolutions.nl/blog/223 – laxonline

+0

@laxonline OP是在客户端 –

回答

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); 
+0

他要求不卷曲的方法。 – Barmar

+0

是的。他还表示会很高兴。所以它是可选的。无论我添加了什么。 :) –

+0

我得到一个错误,如果我试试这个。 – sriram