ベストアンサー1
curl を使用して CORS リクエストをデバッグする方法は次のとおりです。
cUrl を使用して通常の CORS リクエストを送信する:
curl -H "Origin: http://example.com" --verbose \
https://www.googleapis.com/discovery/v1/apis?fields=
フラグ-H "Origin: http://example.com"
はリクエストを行うサードパーティのドメインです。自分のドメインに置き換えてください。
この--verbose
フラグは応答全体を印刷するので、リクエスト ヘッダーと応答ヘッダーを確認できます。
上記で使用している URL は、CORS をサポートする Google API へのサンプル リクエストですが、テストする URL に置き換えることができます。
応答にはAccess-Control-Allow-Origin
ヘッダーが含まれている必要があります。
cUrl を使用してプリフライト リクエストを送信する:
curl -H "Origin: http://example.com" \
-H "Access-Control-Request-Method: POST" \
-H "Access-Control-Request-Headers: X-Requested-With" \
-X OPTIONS --verbose \
https://www.googleapis.com/discovery/v1/apis?fields=
これは、いくつかの追加事項を除けば、通常の CORS リクエストに似ています。
フラグ-H
は追加のプリフライトリクエストヘッダーをサーバーに送信します
この-X OPTIONS
フラグは、これが HTTP OPTIONS 要求であることを示します。
プリフライト リクエストが成功した場合、応答には、、および応答ヘッダーが含まれますAccess-Control-Allow-Origin
。Access-Control-Allow-Methods
プリAccess-Control-Allow-Headers
フライト リクエストが成功しなかった場合、これらのヘッダーは表示されません。そうしないと、HTTP 応答は 200 になりません。
User-Agent
フラグを使用して、などの追加ヘッダーを指定することもできます-H
。