API への接続、ユーザーの認証、およびユーザーの詳細の取得を試みる場合、セッションを維持することが重要です。これは、Curl を使用する場合に特に困難であることが判明し、ユーザーの詳細にアクセスするときに「不正エラー」が発生します。この記事では、根本的な問題を詳しく掘り下げ、解決策を提供します。
この問題を修正するには、CURLOPT_COOKIEFILE オプションを明示的に設定していることを確認してください。マニュアルに従って、このオプションは Cookie 保存ファイルへのパスを指定します。このパラメータを省略すると、Curl は後続のリクエストで保存された Cookie を送信できなくなり、事実上セッションが中断されます。
次のコード スニペットは、CURLOPT_COOKIEJAR と CURLOPT_COOKIEFILE の両方を設定する方法を示しています。
define("COOKIE_FILE", "cookie.txt"); // Login the user $ch = curl_init('http://api.example.com/login/joe/smith'); curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); // Store cookies in the file curl_setopt ($ch, CURLOPT_COOKIEFILE, COOKIE_FILE); // Read cookies from the file curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); echo curl_exec ($ch); // Continue accessing the API with the established session // ...
両方のオプションを指定すると、Curl はユーザーの詳細を取得しながらセッションを効果的に維持し、401 エラーを解決して許可することができます。 API のリソースへのアクセス。
以上がCurl と PHP を使用して API セッションを維持する場合の「不正エラー」を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。