由于系统限制,我有一个使用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
关于如何解决这个问题的任何想法?
不幸的是,当对缩短URL请求PUT和POST方法时,会发生错误,而对于GET方法,请求使用-L
选项正常工作。因此,作为使用缩短URL的PUT请求的解决方法,这个怎么样?
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。-L
。但我无法测试它。对不起,我很抱歉。如果这不是你想要的解决方法,这不起作用,我道歉。