2012-05-26 40 views
0

我使用curl在PHP中調用web服務。但是在服務器端,我的網站在IIS7中更改了位置並使其安全。HTTP錯誤401.2 - 未經授權

所以現在我在調用webservice時遇到了問題。以下錯誤occurrs:

HTTP錯誤401.2 - 未經授權

您無權查看此頁面由於無效的認證頭。

我不知道如何傳遞用戶憑證。請告訴問題是什麼以及如何處理。

+0

請指定webservice的認證要求。您使用的是哪種IIS7身份驗證技術? – hakre

回答

0

添加這些選項。希望它幫助=)

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
curl_setopt($ch, CURLOPT_USERPWD, $username.':'.$password); 

[Reference]CURLOPT_HTTPAUTH

的HTTP認證方法(一個或多個)來使用。選項有: CURLAUTH_BASIC,CURLAUTH_DIGEST,CURLAUTH_GSSNEGOTIATE,CURLAUTH_NTLM, CURLAUTH_ANY和CURLAUTH_ANYSAFE。

按位| (或)運營商可以用於結合多個 方法。如果這樣做,cURL將輪詢服務器以查看它支持的方法,並選擇最好的方法。

CURLAUTH_ANY是CURLAUTH_BASIC的別名| CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM。

CURLAUTH_ANYSAFE是CURLAUTH_DIGEST的別名| CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM。