我可以使用 CURL 在服务器中创建文件吗?

我可以使用 CURL 在服务器中创建文件吗?

我有一台 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

相关内容