如何用cURLdebuggingCORS请求?
如何使用cURLdebuggingCORS请求? 到目前为止,我找不到任何方式来“模拟”预检请求。
以下是如何使用curldebuggingCORS请求。
使用cUrl发送一个常规的CORS请求:
curl -H "Origin: http://example.com" --verbose \ https://www.googleapis.com/discovery/v1/apis?fields=
-H "Origin: http://example.com"
标志是提出请求的第三方域名。 replace你的任何领域。
--verbose
标志打印出整个响应,所以你可以看到请求和响应标题。
我上面使用的url是对支持CORS的Google API的示例请求,但是您可以replace您正在testing的任何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。
您还可以使用-H
标志来指定其他标头,例如User-Agent
。