私は CURLOPT_USERPWD が実際にリクエストのurl、ヘッダー、またはデータに対して何をしているのかと思っていました。 INSTEAD OF Authorization: Basic <base64 of user:pass>
またはこれと一緒に動作しますか?
これをURLに変更していますか?:
username:[email protected]
このようなコードを見たので、NodeJSの同等のリクエストでそのURLをリクエストすると、Authorizationヘッダーだけで動作していないようです(サーバーが壊れていて、Authヘッダーを無視してユーザー名:URLのパスワード):
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$encodedAuth = base64_encode(self::$pfAdapterUser.":".self::$pfAdapterPasswd);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authentication : Basic ".$encodedAuth));
curl_setopt($ch, CURLOPT_USERPWD, self::$pfAdapterUser.":".self::$pfAdapterPasswd);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
ありがとう
これをURLに変更していますか?:
username:[email protected]
いいえ、URLは同じままです。で確認できます
curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
この
$encodedAuth = base64_encode(self::$pfAdapterUser.":".self::$pfAdapterPasswd);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Basic ".$encodedAuth));
この
curl_setopt($ch, CURLOPT_USERPWD, self::$pfAdapterUser.":".self::$pfAdapterPasswd);
同じことをしているので、それらを一緒に使用する必要はありません(壊れませんが)、1つを使用するとうまくいきます。