Como usar os dados de postagem do CURL do arquivo

Como usar os dados de postagem do CURL do arquivo

O CURL é um utilitário de linha de comando gratuito e de código aberto usado para transferir dados para ou para um host remoto com interação mínima do usuário. O CURL funciona com protocolos primários como HTTP, FTP, SCP e SFTP.

Ele permite que os usuários enviem e baixem dados usando comandos únicos ou scripts bash. Ele também fornece recursos como autenticação de usuário, tunelamento de proxy, currículo de download, uploads baseados em formulários, certificados SSL e muito mais. É seguro dizer que o CURL é mais do que um cliente HTTP.

Este tutorial irá orientá -lo em uma funcionalidade Curl que permite aos usuários executar solicitações de postagem HTTP usando dados de arquivo.

Antes de começarmos, deixe -me mencionar que este não é um guia para iniciantes para enrolar; Você precisa de um grau de know-how prévio, especialmente conhecimento de protocolos de rede, solicitações HTTP e muito mais.

Antes que possamos mergulhar no uso do CURL para realizar solicitações de postagem, vamos primeiro configurar.

Como instalar o CURL

Na maioria dos casos, você encontrará o CLL instalado nas principais distribuições Linux por padrão. Para confirmar que você tem curl, use o comando

Curl -Help

Se você receber um erro:

-Bash: Curl: Comando não encontrado

Você precisará instalá -lo antes de prosseguir.

Use o gerenciador de pacotes padrão para concluir a instalação, conforme mostrado nos comandos abaixo:

Atualização de sudo apt-get
sudo apt -get install curl -y

Antes de discutir como publicar dados de um arquivo com CURL, permita -me falar sobre a solicitação de postagem em breve. Como sempre, se você já está familiarizado com isso, pode se sentir à vontade para pular adiante; Caso contrário, fique por perto.

Solicitação de postagem de Curl

A solicitação de postagem HTTP é um dos métodos de solicitação HTTP/HTTPS mais populares usados ​​para enviar dados para um host remoto para criar ou atualizar um recurso.

Agora:

Por favor, não confunda o método com put; Embora sejam bastante semelhantes, eles têm suas diferenças.

Os dados enviados usando uma solicitação de postagem são armazenados principalmente no corpo de solicitação da solicitação HTTP.

Por exemplo, considere a solicitação post abaixo que envia nome de usuário e senha, bem como seus valores.

Post /restrito /login.php http/1.1 Host: Linuxhint.com conteúdo do tipo: aplicativo/x-www-form-urlencoded nome de usuário = linuxhint & senha = senha

Para enviar a solicitação de postagem acima usando o CURL, podemos especificar os comandos como:

curl -x post -d “nome de usuário = linuxhint & senha = senha” https: // linuxhint.com/restrito/login.php

No comando acima, usamos a opção -d para dizer ao CURL para incluir os cabeçalhos padrão, que é o tipo de conteúdo: Application/X-Www-Form-Form-Urlencoded

A opção -x especifica o método de solicitação HTTP para usar, neste caso, solicitação de postagem http.

Curl Especifique o tipo de conteúdo

Em alguns casos, podemos querer especificar [explicitamente] o tipo de conteúdo ao enviar a solicitação. A entidade do tipo conteúdo no cabeçalho especifica o tipo de mídia do recurso que estamos enviando. O tipo de mídia também é comumente conhecido como o tipo MIME.

Se você deseja aprender sobre os tipos de MIME, considere o recurso fornecido abaixo:

https: // linkfy.para/Iana-Mime-Types

Para especificar o tipo de conteúdo em uma solicitação de curl, podemos usar a bandeira -h. Por exemplo, vamos enviar o tipo MIME TIPO DE APLICAÇÃO/JSON.

Curl -x post -d "nome de usuário": "linuxhint", "senha": "senha" -h "conteúdo -tipo: aplicativo/json" https: // linuxhint.com/restrito/login.php

O acima especifica que queremos enviar um objeto JSON para o URL fornecido. Você pode usar isso para ler os valores de um arquivo json ou enviá -lo como cru.

Como ler dados de um arquivo

Suponha que você queira fazer solicitações na linha de comando usando CURL, mas você tem os dados para enviar armazenados em um arquivo. Você pode usar o tipo de conteúdo para especificar o tipo de mídia e depois passar no caminho do arquivo que contém os dados. Para este exemplo, ilustrarei usando um objeto JSON.

O arquivo json (dados.JSON) contém os seguintes valores:


"Nome de usuário": "Linuxhint",
"Senha": "senha"

Para enviar esses dados de um arquivo json, podemos usar o -d e depois passar o nome do arquivo, como mostrado no comando abaixo:

Curl -x Post -H “Tipo de Conteúdo: Aplicativo/JSON” -D “@Data.JSON ”https: // Linuxhint.com/restrito/login.php

Você também pode usar a opção -data -binária.

CURL -X Post -H “Tipo de Conteúdo: Aplicativo/JSON” -Data -Binário “@/Home/Usuário/Dados.JSON ”https: // Linuxhint.com/restrito/login.php

Você também pode usar um arquivo de texto para enviar os dados; Tudo que você precisa especificar é o tipo de conteúdo como texto/simples.

Por exemplo, um arquivo de texto (dados.txt) contendo os seguintes valores

nome de usuário = linuxhint & senha = senha

Usando o comando curl, basta enviar a solicitação como:

Curl -x Post -H “Tipo de Conteúdo: Texto/Plano” -D “Dados.txt ”https: // linuxhint.com/restrito/login.php

Você pode usar outros tipos de arquivos que você pode usar, como XML, HTML e muito mais.

Conclusão

Neste tutorial, discutimos como fazer solicitações de postagem e passar dados em vários formatos. É bom ter em mente que, além de ser muito poderoso, o Curl também é muito flexível. Ele pode combinar uma coleção de opções em um único comando para criar solicitações poderosas. Para mais informações, recomendo a documentação do CLL, pois está bem escrita.

https: // Curl.SE/docs/

Obrigado pela leitura e divirta -se com Curl.