0

私はcurlを使用してphpでWebサービスを呼び出しています。しかし、サーバーサイドの場所でIIS7の私のサイトが変更され、安全になりました。

そのため、Webサービスを呼び出すときに問題が発生します。次のエラー発生:

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です。

ビットごと| (または)演算子を使用して、複数のメソッドを組み合わせることができます。これが行われると、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 に答える