在cURL文件上传中添加斜杠



我使用cURL来测试使用Django REST框架的Django应用程序(Apache服务器)的REST API。我遇到的问题是,上传URL需要一个尾斜杠,但使用以下cURL方法不会附加一个尾斜杠:

curl -i -b cookie.txt -X PUT -T "somefile.txt" http://myserver/api/upload/

来自cURL man I know:

如果指定的URL中没有文件部分,Curl将附加本地文件名。注意,你必须在最后一个目录后面加上一个/来向Curl证明没有文件名,否则Curl会认为你的最后一个目录名是要使用的远程文件名。

但是,cURL不会在自动附加的文件名后面加上斜杠。因此,我找不到让cURL将URL改为http://myserver/api/upload/somefile.txt/而不是http://myserver/api/upload/somefile.txt的方法

任何建议吗?

我从cURL用户邮件列表(curl-users@cool.haxx.se)得到了一个答案:

在执行HTTP PUT操作时,您应该确定要用请求创建的资源。我想说,一个API如果要求它有一个尾斜杠,那就有点不正常了。

但是不,curl不能以任何我能想到的简单方式向这样的URL发送PUT。Libcurl本身当然可以,所以一个简单的解决方案可能是用Libcurl绑定的语言编写一个简单的程序。

最新更新