在重定向之后放置cURL
由于系统限制,我有一个使用google firebase缩短的url。我需要能够同时执行curlput和GET命令。url缩短器最终执行重定向,我相信这就是我的问题发生的地方。我要用-L标志开始工作在重定向之后放置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
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-
表示结果显示给标准输出-
检索重定向的URLcurl-D-http://myshorturl.com/hostedfile“|awk'/Location/{print$NF}'
- 在您的情况下,可能不需要修改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