2013-01-10 59 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