Curl と PHP でセッションを維持する: 401 Unauthorized エラーを解決する
ユーザーを認証し、その詳細を取得するには、Curl コードでセッション。ただし、ログインに成功した後にユーザーの詳細にアクセスしようとすると、401 不正エラーが発生します。
問題は、Curl セットアップに CURLOPT_COOKIEFILE オプションがないことにあります。このオプションは、後続のリクエストを実行するときに Cookie を読み取るファイルを指定します。このオプションを使用しない場合、Curl は保存された Cookie を送信しないため、認証が失敗します。
これを解決するには、CURLOPT_COOKIEJAR で使用しているのと同じ Cookie ファイルを参照する CURLOPT_COOKIEFILE を Curl コードに追加します。これにより、Curl は保存された Cookie をファイルから読み取り、後続のリクエストに含めるようになります。
$ch = curl_init('http://api.example.com/user'); curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); **curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIE_FILE);** curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true);
CURLOPT_COOKIEJAR と CURLOPT_COOKIEFILE の両方のオプションを含めることで、Curl はセッション Cookie を適切に処理し、認証された Cookie を維持できるようになります。セッションに成功し、ユーザーの詳細に正常にアクセスできます。
以上がCurl と PHP を使用してユーザー セッションを維持する場合の 401 Unauthorized エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。