在重定向之后放置cURL

在重定向之后放置cURL,curl,put,Curl,Put,由于系统限制,我有一个使用google firebase缩短的url。我需要能够同时执行curlput和GET命令。url缩短器最终执行重定向,我相信这就是我的问题发生的地方。我要用-L标志开始工作 curl -X GET -L "http://myshorturl.com/hostedfile" --output GET.csv 然而,我仍然无法投入工作 curl -X PUT -L "http://myshorturl.com/hostedfile" --upload-file PUT.c

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

curl -X GET -L "http://myshorturl.com/hostedfile" --output GET.csv
然而,我仍然无法投入工作

curl -X PUT -L "http://myshorturl.com/hostedfile" --upload-file PUT.csv
给我一个错误

错误405(未找到)

这似乎意味着PUT是不允许的,但我知道我的端点确实允许,就像我在不缩短url的情况下做同样的事情一样,一切正常

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

有什么办法可以解决这个问题吗

不幸的是,当PUT和POST方法被请求到较短的URL时,会发生错误,而对于GET方法,使用选项
-L
请求工作正常。因此,作为使用较短URL的PUT请求的解决方案,这个如何

修改的curl命令:
  • curl-D-http://myshorturl.com/hostedfile“
    检索重定向信息。
    • -D-
      -
      表示结果显示给标准输出
  • curl-D-http://myshorturl.com/hostedfile“|awk'/Location/{print$NF}'
    检索重定向的URL
  • 在您的情况下,可能不需要修改curl命令的
    -L
    。但我无法测试它。对此我很抱歉
参考:

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

谢谢您的帮助!我对命令行和我可以使用的所有不同命令仍然是新手。最终起作用的是curl-xput——上传文件PUT.csv-D-“”| awk'/Location/{print$NF}'@DTATSO谢谢您的回复。我很高兴你的问题解决了。
curl -X PUT -L `curl -D - "http://myshorturl.com/hostedfile" | awk '/Location/ {print $NF}'` --upload-file PUT.csv