cURL PUT遵循重定向

问题描述 投票:1回答:1

由于系统限制,我有一个使用google firebase缩短的网址。我需要能够同时执行curl PUT和GET命令。 url shortener最终做重定向,这是我相信我的问题发生的地方。我使用-L标志让GET工作。

curl -X GET -L "http://myshorturl.com/hostedfile" --output GET.csv

但是我仍然无法让PUT工作

curl -X PUT -L "http://myshorturl.com/hostedfile" --upload-file PUT.csv

给了我一个错误

错误405(未找到)

这似乎意味着不允许PUT,但我知道我的端点确实允许,因为当我做同样的事情而不缩短网址时一切正常。

curl -X PUT -L "http://mymuchlongerurl.com/hostedfile" --upload-file PUT.csv

关于如何解决这个问题的任何想法?

curl put
1个回答
1
投票

不幸的是,当对缩短URL请求PUT和POST方法时,会发生错误,而对于GET方法,请求使用-L选项正常工作。因此,作为使用缩短URL的PUT请求的解决方法,这个怎么样?

Modified curl command:

curl -X PUT -L `curl -D - "http://myshorturl.com/hostedfile" | awk '/Location/ {print $NF}'` --upload-file PUT.csv
  • curl -D - "http://myshorturl.com/hostedfile"检索重定向的信息。 --D -表示结果显示给stdout。
  • curl -D - "http://myshorturl.com/hostedfile" | awk '/Location/ {print $NF}'检索重定向的URL。
  • 在您的情况下,可能不需要修改后的curl命令的-L。但我无法测试它。对不起,我很抱歉。

Reference:

如果这不是你想要的解决方法,这不起作用,我道歉。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.