none
Powershell Curl RRS feed

  • Pergunta

  • Prezados, boa tarde!

    Alguém poderia me ajudar a converter a linha abaixo que uso o curl no linux para powershell

    curl -F "id=543" -F "upload=@teste.txt" http://192.168.0.254/post.php

    quarta-feira, 21 de dezembro de 2016 17:43

Todas as Respostas

  • Olá. Nunca usei o curl. Poderia descrever o que o comando acima realiza?

    https://inframicrosoft.wordpress.com/

    quarta-feira, 21 de dezembro de 2016 18:48
  • Maurício,

    O comando acima ele passa as seguintes informações do formulário "id" e "upload" e carrega para a URL

    O no upload passo o @teste.txt para poder carregar o arquivo.

    Tentei fazer assim no Powershell:

    $r = Invoke-WebRequest -Uri http://192.168.0.254/post.php -SessionVariable kteste
    $form = $r.Forms["import-form"]
    $form.Fields["id"] = "123" 
    $form.Fields["upload"] = "C:\temp\teste.csv"
    Invoke-WebRequest -Uri ("http://192.168.0.254/" + $form.Action) -WebSession $kteste -Method POST -Body $form.Fields

    Porém ele cria o arquivo com o conteúdo:

    id=123
    upload=c:\temp\teste.csv

    E não deveria criar o arquivo e sim fazer o upload do arquivo, onde depois o PHP acrescenta o IP no Nome para que eu possa identificar o mesmo.

    E aquela linha do curl faz isso certinho.

    quarta-feira, 21 de dezembro de 2016 19:03
  • Experimente desta forma:

    quarta-feira, 21 de dezembro de 2016 19:12
  • Não funcionou, deu erro e nem gera o arquivo.

    StatusCode        : 200
    StatusDescription : OK
    Content           : Invalid parameters.
    RawContent        : HTTP/1.1 200 OK
                        Vary: Accept-Encoding,User-Agent
                        Connection: close
                        Transfer-Encoding: chunked
                        Content-Type: text/plain; charset=utf-8
                        Date: Wed, 21 Dec 2016 19:36:11 GMT
                        Server: Apache
                        
                        Invali...
    Forms             : {}
    Headers           : {[Vary, Accept-Encoding,User-Agent], [Connection, close], [Transfer-Encoding, chunked], [Content-Type, text/plain; charset=utf-8]...}
    Images            : {}
    InputFields       : {}
    Links             : {}
    ParsedHtml        : mshtml.HTMLDocumentClass
    RawContentLength  : 19

    Dessa outra forma ele gera o arquivo também, mas não com o upload ele preenche com os campos id e upload igual esta descrito no script.

    $postparameters = @{id="123";upload="c:\temp\teste.txt"}
    Invoke-WebRequest -Uri http://192.168.0.254/post.php -Method Post -Body $postparameters

    quarta-feira, 21 de dezembro de 2016 19:38