cURL遵循原始请求中没有标题的重定向

时间:2016-05-16 03:25:18

标签: redirect curl

我尝试使用Cloud Foundry API下载Cloud Foundry应用程序的各个部分。

https://apidocs.cloudfoundry.org/236/apps/downloads_the_bits_for_an_app.html

  

使用远程blobstore(例如AWS)时,响应将重定向到位的实际位置。如果客户端自动跟踪重定向,则将在新的重定向请求上重播用于与Cloud Controller通信的OAuth令牌。在这种情况下,一些blobstores可能会拒绝该请求。 客户可能需要遵循重定向而不包含OAuth令牌

这是我尝试使用的cURL命令:

$ curl -L "https://api.my.host.net/v2/apps/my_app_guid/download" -X GET -H "Authorization: bearer myauthtoken"
curl: (7) Failed to connect to dal05.objectstorage.service.networklayer.com port 443: Operation timed out

我假设我的问题是我的Auth标头承载令牌是根据Cloud Foundry API文档中的引用在重定向上发送的。如何在没有OAuth令牌的情况下关注重定向?我在Mac OS X 10.11上使用默认的cURL命令行实用程序。

1 个答案:

答案 0 :(得分:2)

虽然@ DanielStenberg的评论似乎是正确的,标题不是我的问题,但我会继续提供我原来问题的答案。

似乎遵循没有标题的重定向的唯一方法是不立即遵循重定向,而是使用curl -D -命令选项打印响应标头。从原始请求获得301/302响应后,请检查响应标头中的location标头值,然后执行另一个curl到该位置。