我有一台 Windows 机器,我在其中共享了一个位置并使用 https 通过浏览器将其打开。像这样的东西——”https://my-windows/测试”。
我正在编写一个 shell 脚本,它将把一个文件发布到这台机器/url。我可以使用curl从这个位置下载文件,但是当我发布/放置时,它给了我错误。它说我正在尝试将其放入文件夹中,并且预期是一个文件。
我不想覆盖现有文件。我想创建一个新文件。这可以通过curl实现吗?我正在 Linux 盒子中编写这个 shell 脚本,目标是 Windows 盒子。
我尝试了以下操作:
1. curl -D- -u user:pass -X POST --data "@test.txt" https://my-windows/test
HTTP/1.1 200 Connection established
HTTP/1.1 405 Method Not Allowed
2. curl -D- -u user:pass -X PUT --data "@test.txt" https://my-windows/test
{
"errors" : [ {
"status" : 500,
"message" : "Expected a file but found a folder
}
]}
3. curl -D- -u user:pass -F "[email protected];filename=nameinpost" https://my-windows/test
HTTP/1.1 200 Connection established
HTTP/1.1 100 Continue
HTTP/1.1 405 Method Not Allowed
Allow: GET,PUT,DELETE
Content-Length: 0
答案1
第二条消息中的错误表明您需要包含文件名,如下所示:
curl -D- -u user:pass -X PUT --data "@test.txt" https://my-windows/test/test.txt