2011-03-04 30 views
1

我要发布使用基本身份验证数据的URL按照RFC2617PHP卷曲基本身份验证按照RFC2617

$header = base64_encode("[email protected]:india123"); 

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: text/plain', 'Authorization: Basic '.$header)); 

我需要在这里做,我传递还有什么“:”分开用户名和使用base64编码的密码?

我得到401响应,这是未经授权的,因为我的用户名和密码是有效的,我可以使用它们登录。

由于

回答

2

不用手动注入认证头,使用CURL_USERPWDCURLOPT_HTTPAUTH=>CURLAUTH_BASIC设置。

http://php.net/manual/en/function.curl-setopt.php#98164

+0

感谢@mario,我用同样的代码,我仍然得到同样的错误**状态** 401' – devel 2011-03-04 10:15:38

+2

$ CH = curl_init(); curl_setopt($ ch,CURLOPT_HTTPAUTH,CURLAUTH_BASIC); curl_setopt($ ch,CURLOPT_USERPWD,“[email protected]:india123”); curl_setopt($ ch,CURLOPT_SSLVERSION,3); curl_setopt($ ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ ch,CURLOPT_SSL_VERIFYHOST,2); curl_setopt($ ch,CURLOPT_HEADER,true); curl_setopt($ ch,CURLOPT_POST,true); curl_setopt($ ch,CURLOPT_NOBODY,1); curl_setopt($ ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ ch,CURLOPT_USERAGENT,“Mozilla/4.0(compatible; MSIE 5.01; Windows NT 5.0)”); curl_setopt($ ch,CURLOPT_URL,$ submit_url); ' – devel 2011-03-04 10:19:27

+0

@devel:你应该忽略SSL的东西,只试着前两行。否则,使用网络嗅探器来调试实际发送的cURL。 (可能是一个过时的版本。) – mario 2011-03-04 10:20:47