CURL PostリクエストをAPIに送信します。成功すると、ヘッダのLOCATION
のリソースのURLとともにステータス「201 Created」が返されます。私が望むのは、新しく作成されたリソースを自動的に取得することですが、今のところできていません。私はcurl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
を設定しようとしましたが、無駄です。リソースにGET
リクエストが必要であることに注意する価値があります。PHP Curl - 「201 Created」レスポンスヘッダを持つ場所
私はそれが201、またはリクエストメソッドがGET
にPOST
から変更する必要がありますが、何らかの理由でそれがLOCATION
ヘッダを以下のいない場合というステータスコードだかはわかりません。 curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);
を取得すると、結果が元のURLと同じで、新しいLOCATION
ではなく、これが確認されたようです。
最後の手段として、ヘッダーを解析して新しいCURLリクエストを作成することを検討しましたが、これは最適ではないでしょうし、私はこの仕事を望みどおりに単純にしていないと思っています。
GET
リクエストをLOCATION
に返信すると、自動的にCURLが返信され、201返信が返されます。
ありがとう、私はそれを疑うようになっていた。これを説明するドキュメントへのリンクを追加できますか?私はそれが答えを改善すると思うし、どちらかを受け入れることを嬉しく思う。 – billynoah
http://php.net/manual/en/function.curl-setopt.php – Paolo
コメントを削除し、ソースコードの一部を投稿して、ドキュメントの解釈が正しいことを伝えました(ステータスのリダイレクトはありません)。範囲外の3xx) – Paolo