0

我正在使用 curl 在 php 中调用 Web 服务。但是在服务器端位置更改了我在 IIS7 中的站点并使其安全。

所以现在我在调用网络服务时遇到了问题。发生以下错误:

HTTP 错误 401.2 - 未经授权

由于身份验证标头无效,您无权查看此页面。

我不知道如何传递用户凭据。请告诉问题是什么以及将如何处理。

4

1 回答 1

0

添加这些选项。希望对您有所帮助 =)

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

[参考]CURLOPT_HTTPAUTH

要使用的 HTTP 身份验证方法。选项有:CURLAUTH_BASIC、CURLAUTH_DIGEST、CURLAUTH_GSSNEGOTIATE、CURLAUTH_NTLM、CURLAUTH_ANY 和 CURLAUTH_ANYSAFE。

按位 | (or) 运算符可用于组合多个方法。如果这样做了,cURL 将轮询服务器以查看它支持的方法并选择最好的方法。

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

CURLAUTH_ANYSAFE 是 CURLAUTH_DIGEST 的别名 | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM。

于 2012-05-28T17:05:04.067 回答