2012-05-26 106 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。

相关问题