fbpx

Comandos Linux – Comando curl

Comando curl do Linux

Atualizado: 05/04/2019 por Computer Hope

comando curl

O comando curl transfere dados para ou de um servidor de rede, usando um dos protocolos suportados ( HTTP, HTTPS , FTP , FTPS, SCP , SFTP , TFTP , TFTP , DICT, TELNET , LDAP ou FILE). Ele foi projetado para funcionar sem interação do usuário, por isso é ideal para uso em um script de shell.

O software oferece suporte a proxy , autenticação de usuário, upload de FTP, postagem HTTP, conexões SSL , cookies , resumo de transferência de arquivos, metalink e outros recursos.

Sintaxe

  enrolar [ opções ] [ URL ...]

Opções

-a , –appendFTP / SFTP ) Quando usado em um upload de FTP, isso instrui o curl a anexar ao arquivo de destino em vez de substituí- lo. Se o arquivo não existir, ele será criado.

Observe que essa opção é ignorada por alguns servidores SSH, incluindo o OpenSSH.

-A , –user-agent <agent string>HTTP ) Especifique a sequência do agente do usuário a ser enviada ao servidor HTTP. Alguns CGI falham se a sequência do agente não estiver definida como ” Mozilla / 4.0 “. Para codificar espaços em branco na cadeia, coloque-a entre aspas simples.

Este valor também pode ser definido com a opção -H / –header .

Se esta opção estiver definida mais de uma vez, a última será a que será usada.

–anyauthHTTP ) Informa ao curl para descobrir por si próprio o método de autenticação e usa o método mais seguro que o site remoto afirma que suporta. Isso é feito primeiro fazendo uma solicitação e verificando os cabeçalhos de resposta, possivelmente assim induzindo uma ida e volta da rede. Isso é usado em vez de definir um método de autenticação específico, que você pode fazer com –basic , –digest , –ntlm e –negotiate .

Observe que o uso de –anyauth não é recomendado se você fizer upload do stdin, pois ele pode exigir que os dados sejam enviados duas vezes e, em seguida, o cliente deve poder retroceder. Se surgir a necessidade ao fazer upload do stdin, a operação de upload falhará.

-b , –cookie <name=data>HTTP ) Passe os dados para o servidor HTTP como um cookie . Espera-se que sejam os dados recebidos anteriormente do servidor em uma linha ” Set-Cookie: “. Os dados devem estar no formato ” NAME1 = VALUE1; NAME2 = VALUE2 “.

Se nenhum caractere ‘ = ‘ (igual) for usado na linha, ele será tratado como um nome de arquivo a ser usado para ler as linhas de cookies armazenadas anteriormente, que devem ser usadas nesta sessão se corresponderem. O uso desse método também ativa o “analisador de cookies”, que também tornará os cookies recebidos do registro de ondulação, o que pode ser útil se você estiver usando isso em combinação com a opção –location . O formato do arquivo para leitura dos cookies deve ser um cabeçalho HTTP simples ou o formato de arquivo de cookies Netscape / Mozilla.

NOTA: o arquivo especificado com -b / –cookie é usado apenas como entrada . Nenhum cookie será armazenado no arquivo. Para armazenar cookies, use a opção -c / –cookie-jar ou salve os cabeçalhos HTTP em um arquivo usando -D / –dump-header .

Se essa opção for definida mais de uma vez, a última ocorrência será a opção usada.

-B , –use-asciiFTP / LDAP ) Habilite a transferência ASCII. Para FTP , isso também pode ser imposto usando um URL que termina com ” ; Type = A “. Esta opção faz com que os dados enviados ao stdout estejam no modo de texto para sistemas win32 .

Se essa opção for usada duas vezes, a segunda desativará o uso ASCII.

–basicHTTP ) Diz ao curl para usar a autenticação HTTP Basic. Esse é o padrão e essa opção geralmente não faz sentido, a menos que você a substitua por uma opção definida anteriormente que defina um método de autenticação diferente (como –ntlm , –digest e –negotiate ).
–ciphers <list of ciphers>SSL ) Especifica quais cifras devem ser usadas na conexão. As cifras listadas devem ser válidas. Você pode ler os detalhes da lista de códigos SSL em openssl.org .

As cifras do NSS são feitas de maneira diferente do OpenSSL e do GnuTLS. A lista completa de cifras do NSS está na entrada NSSCipherSuite neste URL: https://pagure.io/mod_nss#Directives .

Se esta opção for usada várias vezes, a última substituirá as outras.

–compressedHTTP ) Solicite uma resposta compactada usando um dos algoritmos que suportam curl e retorne o documento não compactado. Se esta opção for usada e o servidor enviar uma codificação não suportada, o Curl reportará um erro.
–connect-timeout <segundos>Tempo máximo em segundos que a conexão com o servidor pode levar. Isso limita apenas a fase de conexão; depois que o curl se conectar, essa opção não será mais aplicada. Desde 7.32.0, essa opção aceita valores decimais, mas o tempo limite real diminui em precisão à medida que o tempo limite especificado aumenta na precisão decimal. Consulte também a opção -m / –max-time .

Se esta opção for usada várias vezes, a última será usada.

-c , –cookie-jar <nome do arquivo>HTTP ) Especifique em qual arquivo você deseja que o curl grave todos os cookies após uma operação concluída. O Curl grava todos os cookies lidos anteriormente de um arquivo especificado, bem como todos os cookies recebidos do (s) servidor (es) remoto (s). Se nenhum cookie for conhecido, nenhum arquivo será gravado. O arquivo será gravado usando o formato de arquivo de cookie Netscape . Se você definir o nome do arquivo para um único traço (”  “), os cookies serão gravados em stdout.

Esta opção de linha de comando ativará o mecanismo de cookies que faz o registro de ondulação e usa cookies. Outra maneira de ativá-lo é usar a opção -b / –cookie .

OBSERVAÇÃO: Se não for possível criar ou gravar o pote de cookies, toda a operação de curvatura não falhará nem informará um erro. Se -v for especificado, um aviso será exibido, mas esse é o único feedback visível que você obtém sobre essa situação possivelmente fatal.

Se esta opção for usada várias vezes, o último nome de arquivo especificado será usado.

-C–continue-at <offset>Continue / Continue uma transferência de arquivo anterior no deslocamento especificado. O deslocamento especificado é o número exato de bytes que serão ignorados, contados desde o início do arquivo de origem antes de ser transferido para o destino. Se usado com uploads, o comando ftp server SIZE não será usado por curl.

Use ” -C – ” para dizer ao curl para descobrir automaticamente onde / como retomar a transferência. Em seguida, ele usa os arquivos de saída / entrada fornecidos para descobrir isso.

Se esta opção for usada várias vezes, a última será usada.

–create-dirsQuando usado em conjunto com a opção -o , curl cria a hierarquia de diretório local necessária , conforme necessário. Esta opção cria os diretórios mencionados com a opção -o , nada mais. Se o nome do arquivo -o não usar nenhum diretório ou se os diretórios mencionados já existirem, nenhum diretório será criado.

Para criar diretórios remotos ao usar FTP ou SFTP, tente –ftp-create-dirs .

–crlfFTP ) Converta LF para CRLF no upload. Útil para MVS (OS / 390).
–crlfile <arquivo>HTTPS / FTPS ) Forneça um arquivo usando o formato PEM com uma Lista de revogação de certificados que pode especificar certificados de pares que devem ser considerados revogados.

Se esta opção for usada várias vezes, a última será usada.

(Adicionado em 7.19.7)

-d , –data <data>HTTP ) Envia os dados especificados em uma solicitação POST para o servidor HTTP, de uma maneira que pode emular como se um usuário tivesse preenchido um formulário HTML e pressionado o botão enviar. Observe que os dados são enviados exatamente como especificado, sem processamento extra (com todas as novas linhas cortadas). Espera-se que os dados sejam “codificados por URL”. Isso fará com que o curl transmita os dados para o servidor usando o aplicativo do tipo de conteúdo / x-www-form-urlencoded . Compare com a forma -F /  . Se esta opção for usada mais de uma vez na mesma linha de comando , os dados especificados serão mesclados com um caractere ” & ” separado. Portanto, o uso de ‘-d name = daniel -d skill = péssimo’ geraria um pedaço do POST semelhante a ‘name = daniel & skill = péssimo’ .

Se você iniciar os dados com o caractere ” @ “, o restante deverá ser um nome de arquivo para o qual ler os dados, ou ”  ” (traço) se desejar que o curl leia os dados do stdin. O conteúdo do arquivo já deve estar codificado em url. Vários arquivos também podem ser especificados. A publicação de dados de um arquivo chamado ‘foobar’ seria feita com ” –data @ foo-bar “.

-d / –data é o mesmo que –data-ascii . Para postar dados puramente binários , você deve usar a opção –data-binary . Para codificar por URL o valor de um campo de formulário, você pode usar –data-urlencode .

Se esta opção for usada várias vezes, as que se seguem à primeira anexarão dados.

–data-ascii <data>HTTP ) Este é um alias para a opção -d / –data .

Se esta opção for usada várias vezes, as que se seguem à primeira anexarão dados.

–data-binary <data>HTTP ) Isso lança os dados exatamente como especificado, sem processamento extra.

Se você iniciar os dados com o caractere @ , o restante deverá ser um nome de arquivo. Os dados são postados de maneira semelhante à –data-ascii , exceto que as novas linhas são preservadas e as conversões nunca são feitas.

Se essa opção for usada várias vezes, as que se seguem ao primeiro anexarão os dados conforme descrito em -d , –data .

–data-urlencode <dados>HTTP ) Isso publica dados, semelhantes às outras opções –data, com a exceção de que ela executa codificação de URL. (Adicionado em 7.18.0)

Para ser compatível com CGI, a parte <data> deve começar com um nome seguido por um separador e uma especificação de conteúdo. A parte <data> pode ser passada para ondular usando uma das seguintes sintaxes:

conteúdo

Isso fará com que o codificador de URL codifique o conteúdo e o repasse. Apenas tome cuidado para que o conteúdo não contenha símbolos = ou @ , pois isso fará com que a sintaxe corresponda a um dos outros casos abaixo!

= content

Isso fará com que o codificador de URL codifique o conteúdo e o repasse. O símbolo = anterior não está incluído nos dados.

name = content

Isso fará com que a URL do curl codifique a parte do conteúdo e a repasse. Observe que a parte do nome já deve estar codificada em URL.

@nome do arquivo

Isso fará com que os dados de carregamento de onda do arquivo fornecido (incluindo qualquer nova linha), codifique esses dados por URL e os repasse no POST.

name@filename

Isso fará com que os dados de carregamento de onda do arquivo fornecido (incluindo qualquer nova linha), codifique esses dados por URL e os repasse no POST. A parte do nome recebe um sinal de igual acrescentado, resultando em name = urlencoded-file-content . Observe que o nome já deve estar codificado em URL.

–delegation LEVELDefina LEVEL para informar ao servidor o que é permitido delegar quando se trata de credenciais do usuário. Usado com GSS / kerberos.

Nenhum

Não permita nenhuma delegação.

política

Delega se e somente se o sinalizador OK-AS-DELEGATE estiver definido no tíquete de serviço Kerberos, que é uma questão de diretiva de região.

sempre

Incondicionalmente, permita que o servidor delegue.

–digestHTTP ) Ativa a autenticação HTTP Digest. Essa é uma autenticação que impede que a senha seja enviada como texto não criptografado. Use isso em combinação com a opção -u / –user normal para definir o nome de usuáriosS e a senha. Veja também –ntlm , –negotiate e –anyauth para opções relacionadas.

Se essa opção for usada várias vezes, as seguintes ocorrências não farão diferença.

–disable-eprtFTP ) Diga ao curl para desativar o uso dos comandos EPRT e LPRT ao fazer transferências FTP ativas. O enrolamento normalmente sempre tenta primeiro usar o EPRT, depois o LPRT antes de usar o PORT, mas com essa opção, ele usa o PORT imediatamente. EPRT e LPRT são extensões do protocolo FTP original, podem não funcionar em todos os servidores, mas permitem mais funcionalidades de uma maneira melhor do que o comando PORT tradicional.

–eprt pode ser usado para ativar explicitamente o EPRT novamente e –no-eprt é um alias para –disable-eprt .

Desabilitar o EPRT apenas altera o comportamento ativo. Se você deseja alternar para o modo passivo, não precisa usar -P , –ftp-port ou forçá-lo com –ftp-pasv .

–disable-epsvFTP ) Diga ao curl para desativar o uso do comando EPSV ao fazer transferências FTP passivas. O enrolamento normalmente sempre tenta primeiro usar o EPSV antes do PASV, mas com essa opção, ele não tenta usar o EPSV.

–epsv pode ser usado para ativar explicitamente o EPSV novamente e –no-epsv é um alias para –disable-epsv .

Desativar o EPSV altera apenas o comportamento passivo. Se você quiser mudar para o modo ativo, precisará usar -P , –ftp-port .

-D , –dump-header <arquivo>Escreva os cabeçalhos do protocolo no arquivo especificado.

Essa opção é útil quando você deseja armazenar os cabeçalhos que um site HTTP envia para você. Os cookies dos cabeçalhos podem ser lidos em uma segunda chamada de ondulação usando a opção -b / –cookie . No entanto, a opção -c / –cookie-jar é a melhor maneira de armazenar cookies.

Quando usadas no FTP, as linhas de resposta do servidor ftp são consideradas “cabeçalhos” e, portanto, são salvas lá.

Se esta opção for usada várias vezes, a última será usada.

-e , –referer <URL>HTTP ) Envia as informações “Página de referência” para o servidor HTTP. Isso também pode ser definido com o cabeçalho -H /  . Quando usado com -L / –location , você pode anexar ” ; auto ” ao URL –referer para fazer com que o curl defina automaticamente o URL anterior quando segue um cabeçalho Location:. A string ” ; auto ” pode ser usada sozinha, mesmo se você não definir um –referer inicial.

Se esta opção for usada várias vezes, a última será usada.

–engine <name>Selecione o mecanismo de criptografia OpenSSL a ser usado para operações de criptografia. Use –engine list para imprimir uma lista de mecanismos compatíveis com o tempo de construção. Observe que nem todos (ou nenhum) dos mecanismos podem estar disponíveis em tempo de execução.
–environmentSOMENTE OS RISC ) Define um intervalo de variáveis de ambiente , usando os nomes que a opção -w suporta, para facilitar a extração de informações úteis após a execução do curl .
–egd-file <arquivo>HTTPS ) Especifique o nome do caminho para o soquete do Entropy Gathering Daemon. O soquete é usado para propagar o mecanismo aleatório para conexões SSL. Veja também a opção –random-file .
-E , –cert < certificado [ : senha ]>SSL ) Informa ao curl para usar o arquivo de certificado de cliente especificado ao obter um arquivo com HTTPS, FTPS ou outro protocolo baseado em SSL. O certificado deve estar no formato PEM. Se a senha opcional não for especificada, ela será consultada no terminal. Observe que esta opção assume um arquivo de “certificado” que é a chave privada e o certificado privado concatenados. Veja –cert e –key para especificá-los independentemente.

Se a ondulação for criada na biblioteca SSL do NSS, essa opção poderá determinar a ondulação do apelido do certificado a ser usado no banco de dados NSS definido pela variável de ambiente SSL_DIR (ou por padrão / etc / pki / nssdb ). Se o módulo NSS PEM PKCS # 11 (libnsspem.so) estiver disponível, os arquivos PEM poderão ser carregados. Se você deseja usar um arquivo do diretório atual, preceda-o com o prefixo ” ./ “, para evitar confusão com um apelido. Se o apelido contiver ” : “, ele deverá ser precedido por ” \ ” para que não seja reconhecido como delimitador de senha. Se o apelido contiver ” \ “, ele precisará ser escapado como ” \\ ” para que não seja reconhecido como um caractere de escape.

(apenas iOS e Mac OS X ) Se a ondulação for criada no Transporte Seguro, a sequência de certificados deverá corresponder ao nome de um certificado que está no sistema ou nas chaves do usuário. A chave privada correspondente ao certificado e a cadeia de certificados (se houver) também devem estar presentes no chaveiro.

Se esta opção for usada várias vezes, a última será usada.

–cert-type <type>SSL ) Informa o tipo de certificado do certificado fornecido. PEM , DER e ENG são tipos reconhecidos. Se não especificado, o PEM é assumido.

Se esta opção for usada várias vezes, a última será usada.

–cacert <certificado CA>SSL ) Diz ao curl para usar o arquivo de certificado especificado para verificar o parS . O arquivo pode conter vários certificados CA. Os certificados devem estar no formato PEM. Normalmente, a curvatura é criada para usar um arquivo padrão para isso, portanto, esta opção é usada para alterar esse arquivo padrão.

curl reconhece a variável de ambiente denominada ‘ CURL_CA_BUNDLE ‘, se isso estiver definido, e usa o caminho fornecido como um caminho para um pacote configurável de certificação da CA. Esta opção substitui essa variável.

A versão do curl para Windows procurará automaticamente um arquivo de certificação da CA chamado ‘ curl-ca-bundle.crt ‘, no mesmo diretório que curl.exe , no diretório de trabalho atual ou em qualquer pasta do seu PATH.

Se a curvatura for criada na biblioteca SSL do NSS, o módulo NSS PEM PKCS # 11 (libnsspem.so) precisará estar disponível para que esta opção funcione corretamente.

Se esta opção for usada várias vezes, a última será usada.

–capath <diretório de certificado da CA>SSL ) Diz ao curl para usar o diretório de certificado especificado para verificar o par. Os certificados devem estar no formato PEM e o diretório deve ter sido processado usando o utilitário c_rehash fornecido com o openssl. O uso de –capath pode permitir que o curl faça conexões https com muito mais eficiência do que usar –cacert se o arquivo –cacert contiver muitos certificados de CA.

Se esta opção for usada várias vezes, a última será usada.

-f , –failHTTP ) falha silenciosamente (sem saída) nos erros do servidor. Isso é feito principalmente para permitir melhor scripts, etc., para lidar melhor com tentativas falhas. Em casos normais, quando um servidor HTTP falha na entrega de um documento, ele retorna um documento HTML informando isso (que geralmente também descreve o porquê). Este sinalizador impedirá que a ondulação produza isso e retorne o erro 22.

Esse método não é à prova de falhas e há ocasiões em que os códigos de resposta sem êxito passarão, especialmente quando a autenticação estiver envolvida (códigos de resposta 401 e 407).

–ftp-account [ dados ]FTP ) Quando um servidor FTP solicita “dados da conta” após o nome do usuário e a senha serem fornecidos, esses dados são enviados usando o comando ACCT . (Adicionado em 7.13.0)

Se esta opção for usada duas vezes, o segundo substituirá o uso anterior.

–ftp-create-dirsFTP / SFTP ) Quando uma URL / operação de FTP usa um caminho que não existe atualmente no servidor, o comportamento padrão da curvatura é falhar. Usando esta opção, o curl tentará criar diretórios ausentes.
–ftp-method [ método ]FTP ) Controle o método que a curvatura deve usar para acessar um arquivo em um servidor FTP (S). O argumento do método deve ser uma das seguintes alternativas:

multicwd

curl executa uma única operação CWD para cada parte do caminho no URL fornecido. Para hierarquias profundas, isso significa muitos comandos. Esse é o padrão, mas o comportamento mais lento.

nocwd

curl não possui CWD . curl fará SIZE , RETR , STOR , etc. e fornecerá um caminho completo para o servidor para todos esses comandos. Esse é o comportamento mais rápido.

singlecwd

curl executa um CWD com o diretório de destino completo e depois opera no arquivo “normalmente” (como no caso multicwd). Isso é um pouco mais compatível com os padrões do que ‘ nocwd ‘, mas sem a penalidade total do ‘ multicwd ‘.

–ftp-pasvFTP ) Use PASV ao transferir. PASV é o comportamento padrão interno, mas o uso desta opção pode ser usado para substituir uma opção –ftp-port anterior. (Adicionado em 7.11.0)

Se essa opção for usada várias vezes, as seguintes ocorrências não farão diferença. Desfazer um passivo forçado realmente não é possível, mas você deve aplicar o -P , –ftp-port correto novamente.

O modo passivo significa que o curl experimentará primeiro o comando EPSV e depois o PASV, a menos que –disable-epsv seja usado.

–ftp-alternative-to-user <command>FTP ) Se a autenticação com os comandos USER e PASS falhar, envie este comando. Ao conectar-se ao servidor de Transporte Seguro do Tumbleweed por FTPS usando um certificado de cliente, o uso de ” SITE AUTH ” informará o servidor para recuperar o nome de usuário do certificado. (Adicionado em 7.15.5)
–ftp-skip-pasv-ipFTP ) Diga ao curl para não usar o endereço IP que o servidor sugere em sua resposta ao comando PASV do curl quando o curl conecta a conexão de dados. Em vez disso, o curl reutilizará o mesmo endereço IP que já usa para a conexão de controle. (Adicionado em 7.14.2)

Esta opção não tem efeito se PORT, EPRT ou EPSV for usado em vez de PASV.

–ftp-pretFTP ) Diga ao curl para enviar um comando PRET antes do PASV (e EPSV). Certos servidores FTP, principalmente o drftpd, exigem esse comando não padrão para listagens de diretórios, bem como para download e downloads no modo PASV. (Adicionado em 7.20.x)
–ftp-sslFTP ) Tente usar SSL / TLS para a conexão FTP. Reverte para uma conexão não segura se o servidor não suportar SSL / TLS. (Adicionado em 7.11.0)

Se esta opção for usada duas vezes, a segunda desabilitará novamente.

–ftp-ssl-cccFTP ) Usar CCC (Clear Command Channel) Desliga a camada SSL / TLS após a autenticação. O restante da comunicação do canal de controle não será criptografado. Isso permite que os roteadores NAT sigam a transação FTP. O modo padrão é passivo. Veja –ftp-ssl-ccc-mode para outros modos. (Adicionado em 7.16.1)
–ftp-ssl-ccc-mode [ ativo / passivo ]FTP ) Use CCC (Clear Command Channel) Define o modo CCC. O modo passivo não iniciará o desligamento, mas espere o servidor fazer isso e não responderá ao desligamento do servidor. O modo ativo inicia o desligamento e aguarda uma resposta do servidor. (Adicionado em 7.16.2)
–ftp-ssl-controlFTP ) Requer SSL / TLS para o login do FTP, limpe para transferência. Permite autenticação segura, mas transferências de dados não criptografadas para maior eficiência. Falha na transferência se o servidor não suportar SSL / TLS. (Adicionado em 7.16.0)
–ftp-ssl-reqdFTP ) Requer SSL / TLS para a conexão FTP. Encerra a conexão se o servidor não suportar SSL / TLS. (Adicionado em 7.15.5)

Se esta opção for usada duas vezes, a segunda desabilitará novamente.

-F , –form <nome = conteúdo>HTTP ) Isso permite ondular emular um formulário preenchido no qual um usuário pressionou o botão enviar. Isso causa ondulação nos dados do POST usando os dados de várias partes / formulário de conteúdo do tipo de acordo com a RFC1867. Isso permite o upload de arquivos binários, etc. Para forçar a parte ‘content’ a ser um arquivo, prefixe o nome do arquivo com um caractere ” @ “. Para obter a parte do conteúdo de um arquivo, prefixe o nome do arquivo com a letra ” < “. A diferença entre ” @ ” e ” < ” é que @ faz com que um arquivo seja anexado à postagem como um upload de arquivo, enquanto o < cria um campo de texto e obtém o conteúdo desse campo de texto de um arquivo.

Por exemplo, para enviar seu arquivo de senha para o servidor, onde ‘senha’ é o nome do campo de formulário no qual / etc / passwd será a entrada:

curl -F password=@ / etc / passwd www.mypasswords.com

Para ler o conteúdo do arquivo a partir de stdin, em vez de um arquivo, use ”  ” onde o nome do arquivo deveria estar. Isso vale para as construções @ e < .

Você também pode determinar qual tipo de conteúdo usar usando ‘ Type = ‘, de maneira semelhante a:

curl -F ” [email protected] ; Digite = text / html” url.com

ou

enrolar -F “nome = daniel; Tipo = texto / foo” url.com

Você também pode alterar explicitamente o campo de nome de uma parte de upload de arquivo, definindo filename =, assim:

curl -F ” file=@localfile ; filename = nameinpost” url.com

Se o nome do arquivo / caminho contiver ‘ , ‘ ou ‘ ; ‘, deve estar entre aspas duplas, por exemplo:

curl -F ” file=@ \” arquivo local \ “; filename = \” nameinpost \ “” url.com

ou

curl -F ‘ file=@ “localfile”; filename = “nameinpost”‘ url.com

Observe que, se um nome de arquivo / caminho estiver entre aspas duplas, qualquer aspas ou barra invertida no nome do arquivo deve ser escapada por uma barra invertida.

Esta opção pode ser usada várias vezes.

–form-string <nome = string>HTTP ) Semelhante a –form, exceto que a cadeia de valor do parâmetro nomeado é usada literalmente. Os caracteres iniciais ‘ @ ‘ e ‘ < ‘ e a sequência ‘ ; Type = ‘ no valor não têm significado especial. Use isso na preferência para –form se houver alguma possibilidade de o valor da string acidentalmente acionar os recursos ‘ @ ‘ ou ‘ < ‘ do –form .
-g , –globoffEsta opção desativa o “analisador de URL globbing”. Quando você define esta opção, pode especificar URLs que contêm as letras {} [] sem que elas sejam interpretadas pela própria curvatura . Observe que essas letras não são conteúdo normal de URL legal, mas devem ser codificadas de acordo com o padrão URI.
-G , –getQuando usada, esta opção fará com que todos os dados especificados com -d / –data ou –data-binary sejam usados ​​em uma solicitação HTTP GET em vez da solicitação POST que, caso contrário, seria usada. Os dados serão anexados ao URL com um ‘ ? ‘separador.

Se usado em combinação com -I , os dados do POST serão anexados ao URL com uma solicitação HEAD.

Se esta opção for usada várias vezes, somente a primeira será usada. Isso ocorre porque desfazer um GET não faz sentido, mas você deve aplicar o método alternativo de sua preferência.

-H , –header <header>HTTP ) Cabeçalho extra a ser usado ao obter uma página da web . Você pode especificar qualquer número de cabeçalhos extras. Observe que, se você incluir um cabeçalho personalizado com o mesmo nome que um dos que os curls internos usariam, o cabeçalho definido externamente será usado em vez do interno. Isso permite que você faça coisas ainda mais complicadas do que o enrolamento normalmente faria. Você não deve substituir cabeçalhos definidos internamente sem saber perfeitamente o que está fazendo. Remova um cabeçalho interno, fornecendo uma substituição sem conteúdo no lado direito dos dois pontos, como em: -H “Host:” . Se você enviar o cabeçalho personalizado sem valor, seu cabeçalho deverá ser finalizado com ponto e vírgula, como -H “X-Custom-Header;” para enviar ” X-Custom-Header: “.

curl garantirá que cada cabeçalho que você adiciona / substitua seja enviado com o marcador de final de linha adequado, portanto, não deve ser incluído como parte do conteúdo do cabeçalho: não adicione novas linhas ou retornos de carro, pois eles apenas estragarão as coisas para você .

Consulte também as opções -A / –user-agent e -e / –referer .

Esta opção pode ser usada várias vezes para adicionar / substituir / remover vários cabeçalhos.

–hostpubmd5 <md5>SCP / SFTP ) Passe uma sequência contendo 32 dígitos hexadecimais . A string deve ser a soma de verificação MD5 de 128 bits da chave pública do host remoto; o curl recusará a conexão com o host, a menos que o md5sums corresponda. (Adicionado em 7.17.1)
–ignore-content-lengthHTTP ) Ignore o cabeçalho Content-Length. Isso é particularmente útil para servidores que executam o Apache 1.x, que reportará o Comprimento do Conteúdo incorreto para arquivos maiores que 2 gigabytes .
-i , –includeHTTP ) Inclua o cabeçalho HTTP na saída. O cabeçalho HTTP inclui itens como nome do servidor, data do documento, versão HTTP e muito mais.
–interface <name>Execute uma operação usando uma interface especificada. Você pode inserir o nome da interface, endereço IP ou nome do host . Um exemplo pode se parecer com:

curl –interface eth0: 1 http://www.netscape.com/

Se esta opção for usada várias vezes, a última será usada.

-I , –headHTTP / FTP / FILE ) Busque apenas o cabeçalho HTTP. Os servidores HTTP apresentam o comando HEAD, que ele usa para obter nada além do cabeçalho de um documento. Quando usado em um arquivo FTP ou FILE, curl exibe apenas o tamanho do arquivo e a hora da última modificação.
-j , –junk-session-cookiesHTTP ) Quando o curl é instruído a ler cookies de um determinado arquivo, esta opção faz com que ele descarte todos os “cookies de sessão”. Isso basicamente terá o mesmo efeito que se uma nova sessão fosse iniciada. Navegadores típicos sempre descartam cookies de sessão quando são fechados.
-J , –remote-header-nameHTTP ) Essa opção informa à opção -O , –remote-name para usar o nome de arquivo Content-Disposition especificado pelo servidor em vez de extrair um nome de arquivo da URL.
-k , –insecureSSL ) Essa opção permite explicitamente que o curl execute conexões e transferências SSL “inseguras”. Todas as conexões SSL tentam ser protegidas usando o pacote de certificados da CA instalado por padrão. Todas as conexões consideradas “inseguras” falharão, a menos que -k / –inseguro seja usado.

Consulte este recurso online para obter mais informações: https://curl.haxx.se/docs/sslcerts.html .

–key <key>SSL / SSH ) Nome do arquivo da chave privada. Permite que você forneça sua chave privada neste arquivo separado.

Se esta opção for usada várias vezes, a última será usada.

–key-type <type>SSL ) Tipo de arquivo de chave privada. Especifique qual o tipo da sua chave privada fornecida –key . DER, PEM e ENG são suportados. Se não especificado, o PEM é assumido.

Se esta opção for usada várias vezes, a última será usada.

–krb <nível>FTP ) Habilite a autenticação e o uso do Kerberos . O nível deve ser inserido e deve ser “claro”, “seguro”, “confidencial” ou “privado”. Se você usar um nível que não seja um desses, ‘private’ será usado.

Esta opção requer uma biblioteca criada com o suporte kerberos4 ou GSSAPI (GSS-Negotiate). Isso não é muito comum. Use -V , –version para ver se o seu curl suporta.

Se esta opção for usada várias vezes, a última será usada.

-K , –config <arquivo de configuração>Especifique qual arquivo de configuração ler os argumentos de ondulação . O arquivo de configuração é um arquivo de texto no qual os argumentos da linha de comando podem ser gravados, que serão usados ​​como se fossem escritos na linha de comando real. As opções e seus parâmetros devem ser especificados na mesma linha do arquivo de configuração. Se o parâmetro deve conter espaços em branco, o parâmetro deve estar entre aspas. Se a primeira coluna de uma linha de configuração for um caractere ‘ # ‘, o restante da linha será tratado como um comentário . Escreva apenas uma opção por linha física no arquivo de configuração.

Especifique o nome do arquivo como ‘  ‘ para fazer o curl ler o arquivo a partir de stdin.

Observe que, para poder especificar um URL no arquivo de configuração, é necessário especificá-lo usando a opção –url , e não escrevendo o URL em sua própria linha. Portanto, poderia ser semelhante a este:

url = “https://curl.haxx.se/docs/”

Os nomes longos das opções podem ser fornecidos opcionalmente no arquivo de configuração sem os traços duplos iniciais.

Quando o curl é chamado, ele sempre (a menos que -q seja usado) verifica um arquivo de configuração padrão e o utiliza, se encontrado. O arquivo de configuração padrão é verificado nos seguintes locais nesta ordem:

1) curl tenta encontrar o “diretório inicial”: ele primeiro verifica as variáveis ​​de ambiente CURL_HOME e, em seguida, as HOME . Caso contrário, ele usa getpwuid () em sistemas tipo unix (que retorna o diretório inicial dado o usuário atual em seu sistema). No Windows, ele verifica a variável APPDATA ou, como último recurso, ‘ % USER-PROFILE% \ Application Data ‘.

2) No Windows, se não houver arquivo _curlrc no diretório inicial, ele procurará um no mesmo diretório em que a curva executável é colocada. Em sistemas unix, ele tentará carregar .curlrc a partir do diretório inicial determinado.

Esta opção pode ser usada várias vezes para carregar vários arquivos de configuração.

–keepalive-time <segundos>Essa opção define o tempo que uma conexão precisa permanecer inativa antes de enviar análises de manutenção de atividade e o tempo entre as análises de manutenção de atividade individuais. Atualmente, é eficaz em sistemas operacionais que oferecem as opções de soquete TCP_KEEPIDLE e TCP_KEEPINTVL (ou seja, Linux, AIX recente, HP-UX e mais). Esta opção não tem efeito se –no-keepalive for usado. (Adicionado em 7.18.0)

Se esta opção for usada várias vezes, a última será usada. Se não especificado, a opção padrão é 60 segundos.

–limit-rate <speed>Especifique a taxa máxima de transferência que você deseja que o enrolamento use. Esse recurso é útil se você tiver um canal limitado e desejar que sua transferência não use toda a largura de banda.

A velocidade fornecida é medida em bytes / segundo, a menos que um sufixo seja anexado. Acrescentar ‘ k ‘ ou ‘ K ‘ contará o número como kilobytes , ‘ m ‘ ou ‘ M ‘ o torna megabytes enquanto ‘ g ‘ ou ‘ G ‘ o torna gigabytes. Exemplos: 200K , 3m e 1G .

A taxa especificada é a velocidade média contada durante toda a transferência. Isso significa que o enrolamento pode usar velocidades de transferência mais altas em rajadas curtas, mas com o tempo ele não passa da taxa especificada.

Se você também estiver usando a opção -Y / –speed-limit , essa opção terá precedência e poderá prejudicar um pouco a limitação da taxa, para ajudar a manter a lógica do limite de velocidade funcionando.

Se esta opção for usada várias vezes, a última será usada.

-l / –list-onlyFTP ) Ao listar um diretório FTP, essa opção força uma exibição apenas de nome. Especialmente útil se você deseja analisar o conteúdo de um diretório FTP, pois a exibição normal do diretório não usa uma aparência ou formato padrão.

Esta opção faz com que um comando FTP NLST seja enviado. Alguns servidores FTP listam apenas arquivos em resposta ao NLST; eles não incluem subdiretórios e links simbólicos .

–local-port <número> [ – num ]Defina um número ou intervalo preferido de números de porta local a serem usados ​​nas conexões. Observe que os números de porta por natureza são um recurso escasso às vezes ocupado, portanto, definir esse intervalo para algo muito estreito pode causar falhas desnecessárias na configuração da conexão. (Adicionado em 7.15.2)
-L–locationHTTP / HTTPS ) Se o servidor relata que a página solicitada foi movida para um local diferente (indicado com um Localização: cabeçalho e um código 3XX resposta) esta opção fará com onda refazer o pedido no novo local. Se usado junto com -i / –include ou -I / –head , os cabeçalhos de todas as páginas solicitadas serão mostrados. Quando a autenticação é usada, o curl envia apenas suas credenciais para o host inicial. Se um redirecionamento receber curl para outro host, não será possível interceptar o usuário + a senha. Veja também –location-trustsobre como mudar isso. Você pode limitar a quantidade de redirecionamentos a seguir usando a opção –max-redirs .

Quando o curl segue um redirecionamento e a solicitação não é um GET simples (por exemplo, POST ou PUT), a solicitação a seguir é feita com um GET se a resposta HTTP for 301, 302 ou 303. Se o código de resposta for qualquer outro 3xx código, curl reenviará a solicitação a seguir usando o mesmo método não modificado.

–libcurl <arquivo>Anexe esta opção a qualquer linha de comando de curvatura comum e você receberá como código-fonte C de saída que usa libcurl, gravado no arquivo que faz o equivalente ao que sua operação de linha de comando faz! Note-se que esta opção é extremamente impressionante.

Se essa opção for usada várias vezes, o último nome de arquivo será usado. (Adicionado em 7.16.1)

–location-trustedHTTP / HTTPS ) Semelhante a -L / –location , mas permitirá o envio do nome + senha para todos os hosts para os quais o site pode redirecionar. Isso pode ou não introduzir uma violação de segurança se o site o redirecionar para um site ao qual você enviará suas informações de autenticação (que é texto sem formatação no caso da autenticação HTTP Basic).
–max-filesize <bytes>Especifique o tamanho máximo (em bytes) de um arquivo para download. Se o arquivo solicitado for maior que esse valor, a transferência não será iniciada e o curl retornará com o código de saída 63.

NOTA: O tamanho do arquivo nem sempre é conhecido antes do download e, para esses arquivos, essa opção não tem efeito, mesmo que a transferência do arquivo acabe sendo maior que esse limite. Isso diz respeito às transferências FTP e HTTP.

-m , –max-time <segundos>Tempo máximo em segundos que você permite que toda a operação ocorra. Isso é útil para impedir que os trabalhos em lotes sejam interrompidos por horas devido à lentidão de redes ou links. Veja também a opção –connect-timeout .

Se esta opção for usada várias vezes, a última será usada.

–mail-auth <endereço>SMTP ) Specify a single address. This will be used to specify the authentication address (identity) of a submitted message that is being relayed to another server.

(Added in 7.25.0)

–mail-from <address>SMTP ) Specify a single address that the given mail should get sent from.

(Added in 7.20.0)

–mail-rcpt <address>SMTP ) Specify a single address that the given mail should get sent to. This option can be used multiple times to specify many recipients.

(Added in 7.20.0)

–metalinkThis option can tell curl to parse and process a given URI as Metalink file (both version 3 and 4 (RFC 5854) are supported) and make use of the mirrors listed within for failover if there are errors (such as the file or server not being available). It will also verify the hash of the file after the download completes. The Metalink file itself is downloaded and processed in memory and not stored in the local file system.

Example to use a remote Metalink file:

curl –metalink http://www.example.com/example.metalink

To use a Metalink file in the local file system, use FILE protocol (file://):

curl –metalink file://example.metalink

Please note that if FILE protocol is disabled, there is no way to use a local Metalink file at the time of this writing. Also, note that if –metalink and –include are used together, –include will be ignored. This is because including headers in the response will break Metalink parser and if the headers are included in the file described in Metalink file, hash check will fail.

(Added in 7.27.0, if built against the libmetalink library.)

-n , –netrcMakes curl scan the .netrc file in the user’s home directory for login name and password. This is used for ftp on unix. If used with http, curl will enable user authentication. See netrc(4) or ftp documentation for details on the file format. Curl will not complain if that file hasn’t the right permissions (it should not be world nor group readable). The environment variable ” HOME ” is used to find the home directory.

A quick and very simple example of how to set up a .netrc to allow curl to ftp to the machine host.domain.com with user name ‘myself’ and password ‘secret’ should look similar to:

machine host.domain.com login myself password secret

If this option is used twice, the second will again disable netrc usage.

–negotiateHTTP ) Enables GSS-Negotiate authentication. The GSS-Negotiate method was designed by Microsoft and is used in their web applications. It is primarily meant as a support for Kerberos5 authentication but may be also used along with another authentication methods.

This option requires that the curl library was built with GSSAPI support. This is not very common. Use -V / –version to see if your version supports GSS-Negotiate.

When using this option, you must also provide a fake -u / –user option to activate the authentication code properly. Sending a ‘ -u : ‘ is enough as the user name and password from the -u option aren’t actually used.

If this option is used several times, the following occurrences make no difference.

–no-keepaliveDisables the use of keepalive messages on the TCP connection, as by default curl enables them.

Observe que este é o nome da opção negada documentada. Assim, você pode usar –keepalive para aplicar o keepalive.

–no-sessionidSSL ) Desativar onda uso do do cache de sessão SSL-ID. Por padrão, todas as transferências são feitas usando o cache. Observe que, embora nada deva se machucar ao tentar reutilizar os IDs de sessão SSL, parece haver implementações SSL quebradas em estado selvagem que podem exigir que você desabilite isso para ter sucesso. (Adicionado em 7.16.0)

Observe que este é o nome da opção negada documentada. Assim, você pode usar –sessionid para aplicar o cache do ID da sessão.

–noproxy <lista não-proxi>Lista de hosts separados por vírgula que não usam um proxy, se um for especificado. O único curinga é um único caractere * , que corresponde a todos os hosts e desativa efetivamente o proxy. Cada nome nesta lista é correspondido como um domínio que contém o nome do host ou o próprio nome do host. Por exemplo, local.com corresponderia a local.com , local.com:80 e www.local.com , mas não www.notlocal.com . (Adicionado em 7.19.4).
-N–no-bufferDesativa o buffer do fluxo de saída. Em situações normais de trabalho, o curl usará um fluxo de saída em buffer padrão que tem o efeito de emitir os dados em partes, não necessariamente exatamente quando os dados chegarem. O uso desta opção desativará esse buffer.

Observe que este é o nome da opção negada documentada. Assim, você pode usar –buffer para impor o buffer.

–netrc-fileEssa opção é semelhante a –netrc , exceto que você fornece o caminho (absoluto ou relativo) para o arquivo netrc que a ondulação deve usar. Você pode especificar apenas um arquivo netrc por chamada. Se várias opções de arquivo –netrc forem fornecidas, somente a última será usada. (Adicionado em 7.21.5)

This option overrides any use of –netrc as they are mutually exclusive. It will also abide by –netrc-optional if specified.

–netrc-optionalVery similar to –netrc , but this option makes the .netrc usage optional and not mandatory as the –netrc option does.
–ntlmHTTP ) Enables NTLM authentication. The NTLM authentication method was designed by Microsoft and is used by IIS web servers. It is a proprietary protocol, reverse-engineered by clever people and implemented in curl based on their efforts. This kind of behavior should not be endorsed, you should encourage everyone who uses NTLM to switch to a public and documented authentication method instead, such as Digest.

If you want to enable NTLM for your proxy authentication, then use –proxy-ntlm .

This option requires a library built with SSL support. Use -V , –version to see if your curl supports NTLM.

If this option is used several times, only the first one is used.

-o , –output <file>Write output to <file> instead of stdout. If you are using {} or [] to fetch multiple documents, you can use ‘ # ‘ followed by a number in the <file> specifier. That variable will be replaced with the current string for the URL being fetched. Like in:

curl http://{one,two}.site.com -o “file_#1.txt”

or use several variables like:

curl http://{site,host}.host[1-5].com -o “#1_#2”

You may use this option as many times as you have number of URLs.

See also the –create-dirs option to create the local directories dynamically. Specifying the output as ‘  ‘ (a single dash) will force the output to be done to stdout.

-O , –remote-nameWrite output to a local file named like the remote file we get. (Only the file part of the remote file is used, the path is cut off.)

The remote file name to use for saving is extracted from the given URL, nothing else.

Consequentially, the file will be saved in the current working directory. If you want the file saved in a different directory, make sure you change current working directory before you invoke curl with the -O , –remote-name flag!

You may use this option as many times as you have number of URLs.

–pass <phrase>SSL/SSH ) Pass phrase for the private key.

If this option is used several times, the last one will be used.

–post301HTTP ) Tells curl to respect RFC 2616/10.3.2 and not convert POST requests into GET requests when following a 301 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when using -L , –location (Added in 7.17.1)
–post302HTTP ) Tells curl to respect RFC 2616/10.3.2 and not convert POST requests into GET requests when following a 302 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when using -L , –location (Added in 7.19.1)
–post303HTTP ) Tells curl to respect RFC 2616/10.3.2 and not convert POST requests into GET requests when following a 303 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when using -L , –location (Added in 7.26.0)
–proto <protocols>Tells curl to use the listed protocols for its initial retrieval. Protocols are evaluated left to right, are comma separated, and are each a protocol name or ‘ all ‘, optionally prefixed by zero or more modifiers. Available modifiers are:

+

Permit this protocol in addition to protocols already permitted (this is the default if no modifier is used).

Deny this protocol, removing it from the list of protocols already permitted.

=

Permit only this protocol (ignoring the list already permitted), though subject to later modification by subsequent entries in the comma separated list.

Por exemplo:

–proto -ftps uses the default protocols, but disables ftps

–proto -all,https,+http only enables http and https

–proto =http,https also only enables http and https

Unknown protocols produce a warning. This allows scripts to safely rely on being able to disable potentially dangerous protocols, without relying upon support for that protocol being built into curl to avoid an error.

This option can be used multiple times, in which case the effect is the same as concatenating the protocols into one instance of the option. (Added in 7.20.2)

–proto-redir <protocols>Tells curl to use the listed protocols after a redirect. See –proto for how protocols are represented. (Added in 7.20.2)
–proxy-anyauthTells curl to pick a suitable authentication method when communicating with the given proxy. This will cause an extra request/response round-trip. (Added in 7.13.2)
–proxy-basicTells curl to use HTTP Basic authentication when communicating with the given proxy. Use –basic for enabling HTTP Basic with a remote host. Basic is the default authentication method curl uses with proxies.
–proxy-digestTells curl to use HTTP Digest authentication when communicating with the given proxy. Use –digest for enabling HTTP Digest with a remote host.
–proxy-ntlmTells curl to use HTTP NTLM authentication when communicating with the given proxy. Use –ntlm for enabling NTLM with a remote host.
–proxy1.0 <proxyhost [ : port ]>Use the specified HTTP 1.0 proxy. If the port number is not specified, it is assumed at port 1080.

The only difference between this and the HTTP proxy option ( -x , –proxy ), is that attempts to use CONNECT through the proxy will specify an HTTP 1.0 protocol instead of the default HTTP 1.1.

–pubkey <key>SSH ) Public key file name. Allows you to provide your public key in this separate file.

If this option is used several times, the last one will be used.

-p , –proxytunnelWhen an HTTP proxy is used ( -x , –proxy ), this option will cause non-HTTP protocols to attempt to tunnel through the proxy instead of merely using it to do HTTP-like operations. The tunnel approach is made with the HTTP proxy CONNECT request and requires that the proxy allows direct connect to the remote port number curl wants to tunnel through to.
-P , –ftp-port <address>FTP ) Inverte as funções padrão de iniciador / ouvinte ao se conectar com o FTP. Essa opção faz com que o enrolamento use o modo ativo. Na prática, o curl informa ao servidor para conectar-se novamente ao endereço e à porta especificados do cliente, enquanto o modo passivo solicita ao servidor que configure um endereço IP e uma porta para a qual ele deve se conectar. <endereço> deve ser um dos seguintes:

interface

ie ” eth0 ” para especificar qual endereço IP da interface você deseja usar (somente Unix)

endereço de IP

ou seja, ” 192.168.10.1 ” para especificar o endereço IP exato

nome de anfitrião

ou seja, ” meu.host.domínio ” para especificar a máquina

faça o curl escolher o mesmo endereço IP que já é usado para a conexão de controle.

Se esta opção for usada várias vezes, a última será usada. Desative o uso do PORT com –ftp-pasv . Desative a tentativa de usar o comando EPRT em vez de PORT usando –disable-eprt . O EPRT é realmente o PORT ++.

A partir da 7.19.5, você pode anexar ” : [start] – [end] ” à direita do endereço, para informar qual o intervalo de portas TCP a ser usado. Isso significa que você especifica um intervalo de portas, de um número menor para um maior. Um número único também funciona, mas observe que aumenta o risco de falha, pois a porta pode não estar disponível.

-qIf used as the first parameter on the command line, the curlrc config file will not be read and used. See the -K , –config for details on the default config file search path.
-Q , –quote <command>(FTP/SFTP) Send an arbitrary command to the remote FTP or SFTP server. Quote commands are sent BEFORE the transfer is taking place (after the initial PWD command to be exact). To make commands take place after a successful transfer, prefix them with a dash ‘  ‘. To make commands get sent after libcurl has changed working directory, before the transfer command(s), prefix the command with ‘ + ‘ (this is only supported for FTP). You may specify any amount of commands. If the server returns failure for one of the commands, the entire operation will be aborted. You must send syntactically correct FTP commands as RFC959 defines to FTP servers, or one of the commands listed below to SFTP servers.

Esta opção pode ser usada várias vezes. When speaking to an FTP server, prefix the command with an asterisk ( * ) to make curl continue even if the command fails as by default curl will stop at first failure.

SFTP is a binary protocol. Unlike for FTP, curl interprets SFTP quote commands itself before sending them to the server. File names may be quoted shell-style to embed spaces or special characters. Following is the list of all supported SFTP quote commands:

chgrp group file

The chgrp command sets the group ID of the file named by the file operand to the group ID specified by the group operand. The group operand is a decimal integer group ID.

chmod mode file

The chmod command modifies the file mode bits of the specified file. The mode operand is an octal integer mode number.

chown user file

The chown command sets the owner of the file named by the file operand to the user ID specified by the user operand. The user operand is a decimal integer user ID.

ln source_file target_file

The ln and symlink commands create a symbolic link at the target_file location pointing to the source_file location.

mkdir directory_name

The mkdir command creates the directory named by the directory_name operand.

pwd

The pwd command returns the absolute pathname of the current working directory.

rename source target

The rename command renames the file or directory named by the source operand to the destination path named by the target operand.

rm file

The rm command removes the file specified by the file operand.

rmdir directory

The rmdir command removes the directory entry specified by the directory operand, provided it is empty.

symlink source_file target_file

See ln .

–random-file <file>SSL ) Specify the path name to file containing what will be considered as random data. The data is used to seed the random engine for SSL connections. See also the –egd-file option.
–rawHTTP ) When used, it disables all internal HTTP decoding of content or transfer encodings and instead makes them passed on unaltered, raw. (Added in 7.16.2)
–remote-name-allThis option changes the default action for all given URLs to be dealt with as if -O , –remote-name were used for each one. So if you want to disable that for a specific URL after –remote-name-all is used, you must use ” -o – ” or –no-remote-name . (Added in 7.19.0)
–resolve <host : port : address>Provide a custom address for a specific host and port pair. Using this, you can make the curl requests(s) use a specified address and prevent the otherwise normally resolved address to be used. Consider it a sort of /etc/hosts alternative provided on the command line. The port number should be the number used for the specific protocol the host will be used for. It means you need several entries if you want to provide address for the same host but different ports.

This option can be used many times to add many hostnames to resolve.

(Added in 7.21.3)

-r , –range <range>HTTP/FTP ) Retrieve a byte range (ie a partial document) from an HTTP/1.1 or FTP server. Ranges can be specified in a number of ways.

0-499 specifies the first 500 bytes;

500-999 specifies the second 500 bytes;

-500 specifies the last 500 bytes;

9500- specifies the bytes from offset 9500 and forward;

0-0,-1 specifies the first and last byte only(*)(H);

500-700,600-799 specifies 300 bytes from offset 500(H);

100-199,500-599 specifies two separate 100 bytes ranges(*)(H).

(*) = NOTE that this will cause the server to reply with a multipart response!

You should also be aware that many HTTP/1.1 servers do not have this feature enabled, so that when you attempt to get a range, you’ll instead get the whole document.

FTP range downloads only support the simple syntax ‘ start-stop ‘ (optionally with one of the numbers omitted). It depends on the non-RFC command SIZE.

Only digit characters (0-9) are valid in the ‘ start ‘ and ‘ stop ‘ fields of the ‘ start-stop ‘ range syntax. If a non-digit character is given in the range, the server’s response will be unspecified, depending on the server’s configuration.

If this option is used several times, the last one will be used.

-R , –remote-timeWhen used, this will make libcurl attempt to figure out the timestamp of the remote file, and if that is available make the local file get that same timestamp.
–retry <num>If a transient error is returned when curl tries to perform a transfer, it will retry this number of times before giving up. Setting the number to 0 makes curl do no retries (which is the default). Transient error means either: a timeout, an FTP 5xx response code or an HTTP 5xx response code.

When curl is about to retry a transfer, it will first wait one second and then for all forthcoming retries it will double the waiting time until it reaches 10 minutes which then will be the delay between the rest of the retries. By using –retry-delay you disable this exponential backoff algorithm. See also –retry-max-time to limit the total time allowed for retries. (Added in 7.12.3)

If this option is used multiple times, the last occurrence decide the amount.

–retry-delay <seconds>Make curl sleep this amount of time between each retry when a transfer has failed with a transient error (it changes the default backoff time algorithm between retries). This option is only interesting if –retry is also used. Setting this delay to zero will make curl use the default backoff time. (Added in 7.12.3)

If this option is used multiple times, the last occurrence decide the amount.

–retry-max-time <seconds>The retry timer is reset before the first transfer attempt. Retries will be done as usual (see –retry ) as long as the timer hasn’t reached this given limit. Notice that if the timer hasn’t reached the limit, the request will be made and while performing, it may take longer than this given time period. To limit a single request’s maximum time, use -m , –max-time . Set this option to zero to not timeout retries. (Added in 7.12.3)

If this option is used multiple times, the last occurrence decide the amount.

-s , –silentModo silencioso. Don’t show progress meter or error messages. Makes curl mute. It will still output the data you ask for, potentially even to the terminal/stdout unless you redirect it.
–sasl-irEnable initial response in SASL authentication. (Added in 7.31.0)
-S , –show-errorWhen used with -s , it makes curl show error message if it fails.
–sslFTP, POP3, IMAP, SMTP ) Try to use SSL/TLS for the connection. Reverts to a non-secure connection if the server doesn’t support SSL/TLS. See also –ftp-ssl-control and –ssl-reqd for different levels of encryption required. (Added in 7.20.0)

This option was formerly known as –ftp-ssl (Added in 7.11.0). That option name can still be used but will be removed in a future version.

–ssl-reqdFTP, POP3, IMAP, SMTP ) Require SSL/TLS for the connection. Terminates the connection if the server doesn’t support SSL/TLS. (Added in 7.20.0)

This option was formerly known as –ftp-ssl-reqd (added in 7.15.5). That option name can still be used but will be removed in a future version.

–ssl-allow-beastSSL ) This option tells curl not to work around a security flaw in the SSL3 and TLS1.0 protocols known as BEAST. If this option isn’t used, the SSL layer may use work-arounds known to cause interoperability problems with some older SSL implementations. WARNING: this option loosens the SSL security, and by using this flag you ask for exactly that. (Added in 7.25.0)
–socks4 <host [ porta ]>Use o proxy SOCKS4 especificado. Se o número da porta não for especificado, ele será assumido na porta 1080. (Adicionado em 7.15.2)

Esta opção substitui qualquer uso anterior de -x , –proxy , pois eles são mutuamente exclusivos.

Desde 7.21.7, essa opção é supérflua, pois você pode especificar um proxy socks4 com -x , –proxy usando um prefixo de protocolo socks4: // .

Se esta opção for usada várias vezes, a última será usada.

–socks4a <host [ porta ]>Use o proxy SOCKS4a especificado. Se o número da porta não for especificado, ele será assumido na porta 1080. (Adicionado em 7.18.0)

Esta opção substitui qualquer uso anterior de -x , –proxy , pois eles são mutuamente exclusivos.

Desde 7.21.7, essa opção é supérflua, pois você pode especificar um proxy socks4a com -x , –proxy usando um prefixo de protocolo socks4a: // .

Se esta opção for usada várias vezes, a última será usada.

–socks5-hostname <host [ porta ]>Use o proxy SOCKS5 especificado (e deixe o proxy resolver o nome do host). Se o número da porta não for especificado, ele será assumido na porta 1080. (Adicionado em 7.18.0)

Esta opção substitui qualquer uso anterior de -x , –proxy , pois eles são mutuamente exclusivos.

Desde 7.21.7, essa opção é supérflua, pois você pode especificar um proxy de nome de host socks5 com -x , –proxy usando um prefixo de protocolo socks5h: // .

Se esta opção for usada várias vezes, a última será usada. (Esta opção foi anteriormente documentada incorretamente e usada como –socks sem o número anexado.)

–socks5 <host [ porta ]>Use o proxy SOCKS5 especificado – mas resolva o nome do host localmente. Se o número da porta não for especificado, ele será assumido na porta 1080.

Esta opção substitui qualquer uso anterior de -x , –proxy , pois eles são mutuamente exclusivos.

Since 7.21.7, this option is superfluous since you can specify a socks5 proxy with -x , –proxy using a socks5:// protocol prefix.

If this option is used several times, the last one will be used. (This option was previously wrongly documented and used as –socks without the number appended.)

This option (as well as –socks4 ) does not work with IPV6, FTPS or LDAP.

–socks5-gssapi-service <servicename>The default service name for a socks server is rcmd/server-fqdn. This option allows you to change it.

Exemplos:

–socks5 proxy-name –socks5-gssapi-service sockd

would use sockd/proxy-name;

–socks5 proxy-name –socks5-gssapi-service sockd/real-name

would use sockd/real-name for cases where the proxy-name does not match the principal name.

–socks5-gssapi-necAs part of the gssapi negotiation a protection mode is negotiated. RFC 1961 says in section 4.3/4.4 it should be protected, but the NEC reference implementation does not. The option –socks5-gssapi-nec allows the unprotected exchange of the protection mode negotiation. (Added in 7.19.4).
–stderr <file>Redirect all writes to stderr to the specified file instead. If the file name is a plain ‘  ‘, it is instead written to stdout.

If this option is used several times, the last one will be used.

–tcp-nodelayTurn on the TCP_NODELAY option. See the curl_easy_setopt man page for details about this option. (Added in 7.11.2)
–tftp-blksize <value>TFTP ) Set TFTP BLKSIZE option (must be >512). This is the block size that curl will try to use when transferring data to or from a TFTP server. By default, 512 bytes will be used.

If this option is used several times, the last one will be used.

(Added in 7.20.0)

–tlsauthtype <authtype>Set TLS authentication type. Currently, the only supported option is “SRP”, for TLS-SRP (RFC 5054). If –tlsuser and –tlspassword are specified but –tlsauthtype is not, then this option defaults to “SRP”. (Added in 7.21.4)
–tlsuser <user>Set username for use with the TLS authentication method specified with –tlsauthtype . Requires that –tlspassword also be set. (Added in 7.21.4)
–tlspassword <password>Set password for use with the TLS authentication method specified with –tlsauthtype . Requires that –tlsuser also be set. (Added in 7.21.4)
–tr-encodingHTTP ) Request a compressed Transfer-Encoding response using one of the algorithms curl supports, and uncompress the data while receiving it.

(Added in 7.21.6)

-t , –telnet-option <OPT=val>Pass options to the telnet protocol. Supported options are:

TType=<term> Sets the terminal type.

XDISPLOC=<X display> Sets the X display location.

NEW_ENV=<var,val> Sets an environment variable.

-T , –upload-file <file>This transfers the specified local file to the remote URL. If there is no file part in the specified URL, Curl will append the local file name. NOTE that you must use a trailing / on the last directory to really prove to curl that there is no file name or curl will think that your last directory name is the remote file name to use. That will most likely cause the upload operation to fail. If this is used on a http(s) server, the PUT command will be used.

Use the file name ”  ” (a single dash) to use stdin instead of a given file. Alternately, the file name ” . ” (a single period) may be specified instead of ”  ” to use stdin in non-blocking mode to allow reading server output while stdin is being uploaded.

You can specify one -T for each URL on the command line. Each -T + URL pair specifies what to upload and to where. curl also supports “globbing” of the -T argument, meaning that you can upload multiple files to a single URL by using the same URL globbing style supported in the URL, like this:

curl -T “{file1,file2}” http://www.uploadtothissite.com

ou mesmo

curl -T “img[1-1000].png” ftp://ftp.picturemania.com/upload/

–trace <file>Enables a full trace dump of all incoming and outgoing data, including descriptive information, to the given output file. Use ”  ” as filename to have the output sent to stdout.

This option overrides previous uses of -v , –verbose or –trace-ascii .

If this option is used several times, the last one will be used.

–trace-ascii <file>Enables a full trace dump of all incoming and outgoing data, including descriptive information, to the given output file. Use ”  ” as filename to have the output sent to stdout.

This is very similar to –trace , but leaves out the hex part and only shows the ASCII part of the dump. It makes smaller output that might be easier to read for untrained humans.

This option overrides previous uses of -v , –verbose or –trace .

If this option is used several times, the last one will be used.

–trace-timePrepends a timestamp to each trace or verbose line that curl displays. (Added in 7.14.0)
-u , –user <user : password>Specify user and password to use for server authentication. Overrides -n , –netrc and –netrc-optional .

If you give the user name (without entering a colon) curl will prompt for a password.

If you use an SSPI-enabled curl binary and do NTLM authentication, you can force curl to pick up the user name and password from your environment by specifying a single colon with this option: ” -u : “.

If this option is used several times, the last one will be used.

-U , –proxy-user <user : password>Specify user and password to use for proxy authentication.

If you use an SSPI-enabled curl binary and do NTLM authentication, you can force curl to pick up the user name and password from your environment by specifying a single colon with this option: ” -U : “.

If this option is used several times, the last one will be used.

–url <URL>Specify a URL to fetch. This option is mostly handy when you want to specify URL(s) in a config file.

This option may be used any number of times. To control where this URL is written, use the -o , –output or the -O , –remote-name options .

-v , –verboseMakes the fetching more verbose/talkative. Mostly usable for debugging. Lines starting with ‘ > ‘ means “header data” sent by curl , ‘ < ‘ means “header data” received by curl that is hidden in normal cases and lines starting with ‘ * ‘ means additional info provided by curl .

Note that if you only want HTTP headers in the output, -i , –include might be option you’re looking for.

If you think this option still doesn’t give you enough details, consider using –trace or –trace-ascii instead.

This option overrides previous uses of –trace-ascii or –trace .

Use -s , –silent to make curl quiet.

-w , –write-out <format>Defines what to display on stdout after a completed and successful operation. The format is a string that may contain plain text mixed with any number of variables. The string can be specified as ” string “, to get read from a particular file you specify it ” @filename ” and to tell curl to read the format from stdin you write ” @- “.

The variables present in the output format will be substituted by the value or text that curl thinks fit, as described below. All variables are specified like %{variable_name} and to output a normal % you write them like %% . You can output a newline by using \n , a carriage return with \r and a tab space with \t .

NOTE: The % -letter is a special letter in the win32-environment, where all occurrences of % must be doubled when using this option.

Available variables are at this point:

content_type

The Content-Type of the requested document, if there was any.

filename_effective

The ultimate filename that curl writes out to. This is only meaningful if curl is told to write to a file with the –remote-name or –output option. It’s most useful in combination with the –remote-header-name option. (Added in 7.25.1)

ftp_entry_path

The initial path curl ended up in when logging on to the remote FTP server. (Added in 7.15.4)

http_code

The numerical response code that was found in the last retrieved HTTP(S) or FTP(s) transfer. In 7.18.2 the alias response_code was added to show the same info.

http_connect

The numerical code that was found in the last response (from a proxy) to a curl CONNECT request. (Added in 7.12.4)

local_ip

The IP address of the local end of the most recently done connection – can be either IPv4 or IPv6 (Added in 7.29.0)

local_port

The local port number of the most recently done connection (Added in 7.29.0)

num_connects

Number of new connects made in the recent transfer. (Added in 7.12.3)

num_redirects

Number of redirects that were followed in the request. (Added in 7.12.3)

redirect_url

When an HTTP request was made without -L to follow redirects, this variable shows the actual URL a redirect would take you to. (Added in 7.18.2)

remote_ip

The remote IP address of the most recently done connection – can be either IPv4 or IPv6 (Added in 7.29.0)

remote_port

O número da porta remota da conexão feita mais recentemente (Adicionado em 7.29.0)

size_download

A quantidade total de bytes que foram baixados.

size_header

A quantidade total de bytes dos cabeçalhos baixados.

size_request

A quantidade total de bytes que foram enviados na solicitação HTTP.

size_upload

A quantidade total de bytes que foram carregados.

speed_download

A velocidade média de download que o curl mede para o download completo. Bytes por segundo.

speed_upload

A velocidade média de upload que a onda mediu para o upload completo. Bytes por segundo.

ssl_verify_result

O resultado da verificação do certificado de ponto SSL que foi solicitada. 0 significa que a verificação foi bem sucedida. (Adicionado em 7.19.0)

time_appconnect

The time, in seconds, it took from the start until the SSL/SSH/etc connect/handshake to the remote host was completed. (Added in 7.19.0)

time_connect

The time, in seconds, it took from the start until the TCP connect to the remote host (or proxy) was completed.

time_namelookup

The time, in seconds, it took from the start until the name resolving was completed.

time_pretransfer

The time, in seconds, it took from the start until the file transfer was about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved.

time_redirect

The time, in seconds, it took for all redirection steps include name look up, connect, pretransfer, and transfer before the final transaction was started. time_redirect shows the complete execution time for multiple redirections. (Added in 7.12.3)

time_starttransfer

The time, in seconds, it took from the start until the first byte was about to be transferred. This includes time_pretransfer and also the time the server needed to calculate the result.

time_total

The total time, in seconds, that the full operation lasted. The time will be displayed with millisecond resolution.

url_effective

The URL that was fetched last. This is most meaningful if you’ve told curl to follow location: headers.

-x , –proxy <[protocol://][user: password@ ]proxyhost[:port]>Use the specified HTTP proxy. If the port number is not specified, it is assumed at port 1080.

This option overrides existing environment variables that set the proxy to use. If there’s an environment variable setting a proxy, you can set proxy to “” to override it.

All operations that are performed over an HTTP proxy will transparently be converted to HTTP. It means that certain protocol specific operations might not be available. This is not the case if you can tunnel through the proxy, as one with the -p , –proxytunnel option.

User and password that might be provided in the proxy string are URL decoded by curl . This allows you to pass in special characters such as @ by using %40 or pass in a colon with %3a.

The proxy host can be specified the exact same way as the proxy environment variables, including the protocol prefix (http://) and the embedded user + password.

From 7.21.7, the proxy string may be specified with a protocol:// prefix to specify alternative proxy protocols. Use socks4:// , socks4a:// , socks5:// or socks5h:// to request the specific SOCKS version to be used. No protocol specified, http:// and all others will be treated as HTTP proxies.

If this option is used several times, the last one will be used.

-X , –request <command>HTTP ) Specifies a custom request method to use when communicating with the HTTP server. The specified request will be used instead of the method otherwise used (which defaults to GET). Read the HTTP 1.1 specification for details and explanations. Common additional HTTP requests include PUT and DELETE , but related technologies like WebDAV offers PROPFIND , COPY , MOVE , and more.

Normally you don’t need this option. All sorts of GET, HEAD, POST, and PUT requests are rather invoked by using dedicated command line options.

This option only changes the actual word used in the HTTP request, it does not alter the way curl behaves. So for example if you want to make a proper HEAD request, using -X HEAD will not suffice. You need to use the -I , –head option.

FTP ) Specifies a custom FTP command to use instead of LIST when doing file lists with FTP.

If this option is used several times, the last one will be used.

–xattrWhen saving output to a file, this option tells curl to store certain file metadata in extended file attributes. Currently, the URL is stored in the xdg.origin.url attribute and, for HTTP, the content type is stored in the mime_type attribute. If the file system does not support extended attributes, a warning is issued.
-y , –speed-time <time>If a download is slower than speed-limit bytes per second during a speed-time period, the download gets aborted. If speed-time is used, the default speed-limit will be 1 unless set with -Y .

This option controls transfers and thus will not affect slow connects etc. If this is a concern for you, try the –connect-timeout option.

If this option is used several times, the last one will be used.

-Y , –speed-limit <speed>If a download is slower than this given speed, in bytes per second, for speed-time seconds it gets aborted. speed-time is set with -y and is 30 if not set.

If this option is used several times, the last one will be used.

-z , –time-cond <date expression>|<file>(HTTP) Request a file that was modified later than the given time and date, or one that was modified before that time. The <date expression> can be all sorts of date strings or if it doesn’t match any internal ones, it is taken as a filename and tries to get the modification date (mtime) from <file> instead. See the curl_getdate man pages for date expression details.

Start the date expression with a dash (-) to make it request for a document that is older than the given date/time, default is a document that is newer than the specified date/time.

If this option is used several times, the last one will be used.

–max-redirs <num>Set maximum number of redirections which may be followed. If -L / –location is used, this option can be used to prevent curl from following redirections “in absurdum”. By default, the limit is set to 50 redirections. Set this option to -1 to make it limitless.

If this option is used several times, the last one will be used.

-0 , –http1.0HTTP ) Forces curl to issue its requests using HTTP 1.0 instead of using its internally preferred: HTTP 1.1.
-1 , –tlsv1SSL ) Forces curl to use TSL version 1 when negotiating with a remote TLS server.
-2 , –sslv2SSL ) Forces curl to use SSL version 2 when negotiating with a remote SSL server.
-3 , –sslv3SSL ) Forces curl to use SSL version 3 when negotiating with a remote SSL server.
–3p-quoteFTP ) Specify arbitrary commands to send to the source server. See the -Q , –quote option for details. (Added in 7.13.0)
–3p-urlFTP ) Activates an FTP 3rd party transfer. Specifies the source URL to get a file from, while the “normal” URL will be used as target URL, the file that will be written/created.

Note that not all FTP server allow 3rd party transfers. (Added in 7.13.0)

–3p-userFTP ) Specify user:password for the source URL transfer. (Added in 7.13.0)
-4 , –ipv4If libcurl is capable of resolving an address to multiple IP versions (which it is if it is ipv6-capable), this option tells libcurl to resolve names to IPv4 addresses only.
-6 , –ipv6If libcurl is capable of resolving an address to multiple IP versions (which it is if it is ipv6-capable), this option tells libcurl to resolve names to IPv6 addresses only.
-# , –progress-barMake curl display progress information as a progress bar instead of the default statistics.

If this option is used twice, the second will again disable the progress bar.

URLs

The URL syntax is protocol-dependent. You’ll find a detailed description in RFC 3986 .

You can specify multiple URLs or parts of URLs by writing part sets within braces as in:

http://site.{one,two,three}.com

or you can get sequences of alphanumeric series by using [] as in:

ftp://ftp.numericals.com/file[1-100].txt
ftp://ftp.numericals.com/file[001-100].txt
ftp://ftp.letters.com/file[az].txt

Nested sequences are not supported, but you can use several ones next to each other:

http://any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html

You can specify any amount of URLs on the command line. They will be fetched in a sequential manner in the specified order.

You can specify a step counter for the ranges to get every Nth number or letter:

http://www.numericals.com/file[1-100:10].txt
http://www.letters.com/file[az:2].txt

If you specify URL without protocol:// prefix, curl will attempt to guess what protocol you might want. It will then default to HTTP but try other protocols based on often-used hostname prefixes. For example, for hostnames starting with “ftp.” curl will assume you want to speak FTP.

o curl fará o possível para usar o que você passa como um URL. Ele não está tentando validá-lo como um URL sintaticamente correto por qualquer meio, mas é bastante liberal com o que aceita.

o curl tentará reutilizar as conexões para várias transferências de arquivos, para que a obtenção de muitos arquivos do mesmo servidor não faça várias conexões / handshakes. Isso melhora a velocidade. Obviamente, isso é feito apenas em arquivos especificados em uma única linha de comando e não pode ser usado entre chamadas de curvatura separadas .

Medidor de progresso

o curl normalmente exibe um medidor de progresso durante as operações, indicando a quantidade de dados transferidos, as velocidades de transferência e o tempo estimado restante, etc.

O curl exibe esses dados no terminal por padrão; portanto, se você chamar o curl para fazer uma operação e estiver prestes a gravar dados no terminal, desabilitará o medidor de progresso, caso contrário, prejudicaria a saída misturando o medidor de progresso e os dados de resposta.

Se você deseja um medidor de progresso para solicitações HTTP POST ou PUT, é necessário redirecionar a saída de resposta para um arquivo, usando o redirecionamento de shell ( > ), -o [arquivo] ou semelhante.

Não é o mesmo caso para o upload de FTP, pois essa operação não gera nenhum dado de resposta no terminal.

Se você preferir uma “barra” de progresso em vez do medidor normal, – # é seu amigo.

Variáveis ​​ambientais

As variáveis ​​de ambiente podem ser especificadas em minúsculas ou maiúsculas. A versão em minúscula tem precedência. http_proxy é uma exceção, pois está disponível apenas em letras minúsculas.

O uso de uma variável de ambiente para configurar o proxy tem o mesmo efeito que o uso da opção –proxy .

http_proxy [ protocolo : // ] <host> [ porta ]Define o servidor proxy a ser usado para HTTP.
HTTPS_PROXY [ protocolo : // ] <host> [ porta ]Define o servidor proxy a ser usado para HTTPS.
url-protocol ] _PROXY [ protocol :// ] <host> [ : port ]Sets the proxy server to use for [ url-protocol ], where the protocol is a protocol that curl supports and as specified in a URL: FTP , FTPS , POP3 , IMAP , SMTP , LDAP etc.
ALL_PROXY [ protocol :// ] <host> [ : port ]Sets the proxy server to use if no protocol-specific proxy is set.
NO_PROXY <comma-separated list of hosts>list of hostnames that shouldn’t go through any proxy. If set to an asterisk ‘ * ‘ only, it matches all hosts.

Exit codes

There are a bunch of different error codes and their corresponding error messages that may appear during bad conditions. At the time of this writing, the exit codes are:

1Unsupported protocol. This build of curl has no support for this protocol.
2Failed to initialize.
3URL malformed. The syntax was not correct.
4A feature or option that was needed to perform the desired request was not enabled or was explicitly disabled at build-time. To make curl able to do this, you probably need another build of libcurl!
5Couldn’t resolve proxy. The given proxy host could not be resolved.
6Couldn’t resolve host. The given remote host was not resolved.
7Failed to connect to host.
8FTP weird server reply. The server sent data curl couldn’t parse.
9FTP access denied. The server denied login or denied access to the particular resource or directory you wanted to reach. Most often you tried to change to a directory that doesn’t exist on the server.
11FTP weird PASS reply. Curl couldn’t parse the reply sent to the PASS request.
13FTP weird PASV reply, Curl couldn’t parse the reply sent to the PASV request.
14FTP weird 227 format. Curl couldn’t parse the 227-line the server sent.
15FTP can’t get host. Couldn’t resolve the host IP we got in the 227-line.
17FTP couldn’t set binary. Couldn’t change transfer method to binary.
18Partial file. Only a part of the file was transferred.
19FTP couldn’t download/access the given file, the RETR (or similar) command failed.
21FTP quote error. A quote command returned error from the server.
22HTTP page not retrieved. The requested url was not found or returned another error with the HTTP error code being 400 or above. This return code only appears if -f , –fail is used.
23Write error. Curl couldn’t write data to a local filesystem or similar.
25FTP couldn’t STOR file. The server denied the STOR operation, used for FTP uploading.
26Read error. Various reading problems.
27Out of memory. A memory allocation request failed.
28.Operation timeout. The specified time-out period was reached according to the conditions.
30FTP PORT failed. The PORT command failed. Not all FTP servers support the PORT command, try doing a transfer using PASV instead!
31FTP couldn’t use REST. The REST command failed. This command is used for resumed FTP transfers.
33HTTP range error. The range “command” didn’t work.
34HTTP post error. Internal post-request generation error.
35SSL connect error. The SSL handshaking failed.
36.FTP bad download resume. Couldn’t continue an earlier aborted download.
37.FILE couldn’t read file. Failed to open the file. Permissions?
38.LDAP cannot bind. LDAP bind operation failed.
39.LDAP search failed.
41Function not found. A required LDAP function was not found.
42.Aborted by callback. An application told curl to abort the operation.
43Internal error. A function was called with a bad parameter.
45Erro de interface. Uma interface de saída especificada não pôde ser usada.
47Muitos redirecionamentos. Ao seguir os redirecionamentos, a onda atinge o valor máximo.
48.Opção desconhecida especificada para libcurl. Isso indica que você passou uma opção estranha para enrolar que foi repassada para libcurl e rejeitada. Leia no manual!
49.Opção de telnet malformada.
51O certificado SSL do par ou a impressão digital SSH MD5 não estava OK.
52O servidor não respondeu nada, o que aqui é considerado um erro.
53Mecanismo de criptografia SSL não encontrado.
54Não é possível definir o mecanismo de criptografia SSL como padrão.
55Falha no envio de dados da rede.
56.Falha no recebimento de dados da rede.
58.Problema com o certificado local.
59Não foi possível usar a cifra SSL especificada.
60O certificado de mesmo nível não pode ser autenticado com certificados de CA conhecidos.
61Codificação de transferência não reconhecida.
62URL LDAP inválido.
63.Tamanho máximo do arquivo excedido.
64Falha no nível de SSL do FTP solicitado.
65O envio dos dados requer um retrocesso que falhou.
66.Falha ao inicializar o mecanismo SSL.
67O nome de usuário, senha ou similar não foi aceito e a curvatura falhou ao efetuar login.
68Arquivo não encontrado no servidor TFTP.
69Problema de permissão no servidor TFTP.
70Sem espaço em disco no servidor TFTP.
71Operação TFTP ilegal.
72ID de transferência TFTP desconhecido.
73O arquivo já existe (TFTP).
74Não existe esse usuário (TFTP).
75A conversão de caracteres falhou.
76Funções de conversão de caracteres necessárias.
77Problema com a leitura do certificado CA SSL (caminho? Direitos de acesso?).
78O recurso mencionado na URL não existe.
79Ocorreu um erro não especificado durante a sessão SSH.
80Falha ao desligar a conexão SSL.
82Não foi possível carregar o arquivo CRL, formato ausente ou incorreto (adicionado em 7.19.0).
83Falha na verificação do emissor (adicionada em 7.19.0).
84O comando FTP PRET falhou.
85RTSP: incompatibilidade de números CSeq.
86RTSP: mismatch of Session Identifiers.
87unable to parse FTP file list.
88FTP chunk callback reported error.

Exemplos

 curl https://www.computerhope.com/index.htm

Fetch the file index.htm from www.computerhope.com using the HTTP protocol, and display it to standard output. This is essentially the same as “viewing the source” of the webpage; the raw HTML will be displayed.

 curl https://www.computerhope.com/index.htm > index.htm

Fetch the same file as above, but redirect the output to a file, index.htm , in the current directory.

 curl -O https://www.computerhope.com/index.htm

Busque o mesmo arquivo acima e faça a saída para um arquivo com o mesmo nome ( index.htm ) no diretório atual, desta vez usando a função de curvatura -O .

 curl --limit-rate 1234B -O https://www.computerhope.com/index.htm

O mesmo que acima, mas desta vez, limite a velocidade de download para (uma velocidade média de) 1.234 bytes / segundo.

 curl --limit-rate 1234B -O - # https://www.computerhope.com/index.htm

O mesmo que acima, mas desta vez, exiba uma barra de progresso (a opção – # ) em vez do medidor numérico de progresso.

wget – Baixe arquivos via HTTP ou FTP.

14 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

[email protected]

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900
[email protected]

Copyright © Linux Force Security  - Desde 2011.