Como posso usar o curl para fazer upload e postar um arquivo com o seguinte formulário?

1

O formulário html da página que estou tentando enviar é o seguinte:

<form action="upload_handler" method="POST" enctype="multipart/form-data">
    <input type="file" name="myfile">
    <input type="submit" name="submit" value="Upload">
</form>

Eu tentei o seguinte, mas nenhum deles funciona:

curl -b cookies.txt -F "myfile=@/xxx/java_pid30806.hprof;submit=Upload" http://xxx.yyy.com > curlout.txt

curl -b cookies.txt --data-binary @/xxx/java_pid30806.hprof http://xxx.yyy.com > curlout.txt

, em que cookies.txt contém o cookie de sessão obtido a partir do login com êxito por meio de um comando curl anterior.

    
por David Corley 09.06.2011 / 16:58

1 resposta

2

Primeiro de tudo, seu comando tem um erro: -b não é usado com cookiejar, ou seja, arquivo de cookie. Você deveria usar -c. -b é especificar um cookie individual.

Tente isto:

curl -c cookies.txt --form myfile=@/path/to/file --form submit=Upload http://xxx.yyy.com
    
por 09.06.2011 / 17:25

Tags