2

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

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

从 cURL man 我知道:

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

但是,cURL 不会在它自动附加的文件名后面加上斜杠。所以,我找不到让 cURL 来制作 URL 的方法,http://myserver/api/upload/somefile.txt/而不是http://myserver/api/upload/somefile.txt

有什么建议吗?

4

1 回答 1

0

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

在执行 HTTP PUT 时,您应该确定要使用请求创建的资源。我会声称一个要求它有一个斜杠的 API 有点过分了。

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

于 2013-05-24T17:30:41.007 回答