AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 471510
Accepted
Akhil
Akhil
Asked: 2018-09-26 23:59:28 +0800 CST2018-09-26 23:59:28 +0800 CST 2018-09-26 23:59:28 +0800 CST

Armazenar um arquivo no servidor com o comando curl usando o método post como scp? [duplicado]

  • 772
Essa pergunta já tem resposta aqui :
usando CURL para transmitir dados binários pelo parâmetro POST (1 resposta)
Fechado há 4 anos .

Assim:

gato tmp.txt | curl --post domain.com/file-to-store

Eu quero armazenar o conteúdo do tmp.txt na minha máquina para o servidor usando apenas o terminal. É possível?

linux curl
  • 1 1 respostas
  • 2243 Views

1 respostas

  • Voted
  1. Best Answer
    filbranden
    2018-09-27T01:50:35+08:002018-09-27T01:50:35+08:00

    É possível usar o protocolo HTTP para fazer upload de arquivos para um servidor e também curlfazer isso a partir da linha de comando.

    Mas para que isso funcione, você precisa que o servidor HTTP suporte uploads de arquivos (nativamente ou por meio de um aplicativo em execução nesse servidor), para que esse recurso seja habilitado e configurado e normalmente você precisa de alguma forma de autenticação/autorização para evitar uploads inesperados ao seu servidor. Você também pode precisar lidar com permissões de arquivo e diretório para permitir que o servidor Web ou aplicativo Web grave no sistema de arquivos local quando receber um arquivo carregado.

    Se tudo isso estiver em vigor, você terá duas maneiras de curlfazer upload de arquivos usando HTTP:

    1. Método PUT:

    Este é o "verbo" nativo para upload de arquivos. Uma vantagem é que o URL que você usa para o upload corresponde àquele em que o arquivo enviado deve estar disponível após o upload. Mas, como mencionado acima, você precisa que seu servidor suporte uploads de arquivos usando esse método para que isso funcione.

    Se esta for uma opção, use a seguinte sintaxe:

    cat tmp.txt | curl -T - domain.com/file-to-store
    
    1. Método POST:

    Esta é uma maneira de invocar um aplicativo em execução no servidor web, que pode implementar uploads de arquivos... como um argumento separado ("campo") passado na solicitação POST.

    Uma vantagem dessa abordagem é que normalmente é mais fácil instalar e configurar um aplicativo de upload de arquivos em um servidor (há muitas soluções simples usando o protocolo CGI para fazer isso) do que configurar um servidor web para aceitar solicitações PUT.

    Se esta for uma opção, use uma sintaxe como:

    curl -F [email protected] -F url=/file-to-store domain.com/fileupload.cgi
    

    Observe que o exemplo acima não é literal e é apenas uma ilustração de um aplicativo de upload de arquivo hipotético... Os detalhes reais dependeriam de qual aplicativo de upload de arquivo você decidir usar e tiver disponível. -FO objetivo do exemplo é ilustrar o uso do argumento do curl e o uso de @para incluir o conteúdo de um arquivo local ao usá-lo.

    Consulte o manual do curl para obter mais detalhes, particularmente a seção "Upload" que descreve o método PUT. Ele também menciona o uso de POST como uma opção.

    • 3

relate perguntas

  • Inicie/pare o serviço systemd usando o atalho de teclado [fechado]

  • Necessidade de algumas chamadas de sistema

  • Como baixar um arquivo no terminal cujo link redireciona e parece funcionar apenas na GUI?

  • astyle não altera a formatação do arquivo de origem

  • Passe o sistema de arquivos raiz por rótulo para o kernel do Linux

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve