O erro na segunda mensagem sugere que você precisa incluir o nome do arquivo, assim:
curl -D- -u user:pass -X PUT --data "@test.txt" https://my-windows/test/test.txt
Eu tenho uma máquina Windows, onde compartilhei um local e o abri pelo navegador usando https. Algo parecido com isto - " link ".
Eu estou escrevendo um script de shell que irá postar um arquivo para esta máquina / url. Eu sou capaz de baixar o arquivo usando curl a partir deste local, mas quando eu postar / colocar, isso me dá erro. Ele diz que estou tentando colocá-lo em uma pasta e o esperado é um arquivo.
Eu não quero mais escrever um arquivo existente. Eu quero criar um novo arquivo. Isso é possível com o curl? Estou escrevendo este script de shell na caixa Linux e o destino é uma caixa do windows.
Eu tentei seguir:
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