comandos de Linux (136) - comando curl

comando curl es una norma de la terminal de Shell utilizando la herramienta de línea de comandos de transferencia de archivos URL para trabajo bajo, sino que es compatible con archivos de carga y descarga, y por lo tanto es una herramienta de transmisión integrado, pero, tradicionalmente, usado para referirse a curl para descargar la herramienta.

Como una herramienta de gran alcance, el apoyo rizo incluyendo HTTP, HTTPS, FTP y otros protocolos, también es compatible con la POST, cookies, autenticación, en el que parte del archivo de descarga, la cadena de agente de usuario, el límite de velocidad, el tamaño del archivo, la barra de progreso en un desplazamiento especificado desde el otro ; hacer procesos de automatización web y recuperación de datos.

2. Formato de los comandos

curl [OPTIONS] [URL...]

3. Descripción de la opción

-#, --progress-bar
	显示进度条
-a, --append
	上传文件时,附加到目标文件
-A, --user-agent STRING
	设置用户代理发送给服务器
--anyauth
	可以使用“任何”身份验证方法
-b, --cookie <NAME=STRING/FILE>
	cookie 字符串或文件读取位置
--basic
	使用 HTTP 基本验证
-B, --use-ascii
	使用 ASCII 文本传输
-c, --cookie-jar FILE
	操作结束后把 cookie 写入指定文件中
-C, --continue-at OFFSET
	断点续转
-d, --data DATA
	HTTP POST 方式传送数据
--data-ascii DATA
	以 ascii 的方式 post 数据
--data-binary DATA
	以二进制的方式 post 数据
--negotiate
	使用 HTTP 身份验证
--digest
	使用数字身份验证
--disable-eprt
	禁止使用 EPRT 或 LPRT
--disable-epsv
	禁止使用 EPSV
-D, --dump-header FILE
	把 header 信息写入到指定文件中
--egd-file FILE
 	为随机数据(SSL)设置EGD socket路径
--tcp-nodelay
	使用 TCP_NODELAY 选项
-e, --referer
	来源网址
-E, --cert CERT[:PASSWD]
	客户端证书文件和密码 (SSL)
 --cert-type TYPE
 	证书文件类型 (DER/PEM/ENG) (SSL)
--key KEY
	私钥文件名 (SSL)
--key-type TYPE
	私钥文件类型 (DER/PEM/ENG) (SSL)
--pass PASS
	私钥密码 (SSL)
--engine NAME
	选择用于密码操作的OpenSSL加密引擎
--cacert FILE
	CA证书 (SSL)
--capath <directory>	CA目录 (made using c_rehash) to verify peer against (SSL)
--ciphers LIST
	SSL 密码
--compressed
	要求返回是压缩的形势 (using deflate or gzip)
--connect-timeout SECONDS
	设置最大请求时间
--create-dirs
	建立本地目录的目录层次结构
--crlf
	上传是把 LF 转变成 CRLF
-f, --fail
	连接失败时不显示 http 错误
--ftp-create-dirs
	如果远程目录不存在,创建远程目录
--ftp-method [multicwd/nocwd/singlecwd]
	控制 CWD 的使用
--ftp-pasv
	使用 PASV/EPSV 代替端口
--ftp-skip-pasv-ip
	使用 PASV 的时候,忽略该IP地址
--ftp-ssl
	尝试用 SSL/TLS 来进行 ftp 数据传输
--ftp-ssl-reqd
	要求用 SSL/TLS 来进行 ftp 数据传输
-F, --form NAME=CONTENT
	模拟 http 表单提交数据
--form-string NAME=STRING
	模拟 http 表单提交数据
-g, --globoff
	禁用网址序列和范围使用 {} 和 []
-G, --get
	以get的方式来发送数据
-H, --header LINE
	自定义头信息传递给服务器
--ignore-content-length
	忽略的 HTTP 头信息的长度
-i, --include
	输出时包括 protocol 头信息
-I, --head
	只显示请求头信息
-j, --junk-session-cookies
	读取文件进忽略 session cookie
--interface INTERFACE
	使用指定网络接口/地址
--krb4 LEVEL
	使用指定安全级别的 krb4
-k, --insecure
	允许不使用证书到SSL站点
-K, --config
	指定的配置文件读取
-l, --list-only
	列出ftp目录下的文件名称
--limit-rate RATE
	设置传输速度
--local-port NUM[-NUM]
	强制使用本地端口号
-m, --max-time SECONDS
	设置最大传输时间
--max-redirs NUM
	设置最大读取的目录数
--max-filesize BYTES
	设置最大下载的文件总量
-M, --manual
	显示全手动
-n, --netrc
	从 netrc 文件中读取用户名和密码
--netrc-optional
	使用 .netrc 或者 URL来覆盖 -n
--ntlm
	使用 HTTP NTLM 身份验证
-N, --no-buffer
	禁用缓冲输出
-o, --output FILE
	把输出写到指定文件中
-O, --remote-name
	把输出写到与远程文件同名的本地文件中
-p, --proxytunnel
	使用 HTTP 代理
--proxy-anyauth
	选择任一代理身份验证方法
--proxy-basic
	在代理上使用基本身份验证
--proxy-digest
	在代理上使用数字身份验证
 --proxy-ntlm
 	在代理上使用 ntlm 身份验证
-P, --ftp-port ADDRESS
	使用端口地址,而不是使用PASV
-q, --disable
	作为第一个参数,关闭 .curlrc
-Q, --quote CMD
	文件传输前,发送命令到服务器
-r/--range RANGE
	检索来自HTTP/1.1或FTP服务器字节范围
--range-file
	读取(SSL)的随机文件
-R, --remote-time
	在本地生成文件时,保留远程文件时间
--retry NUM
	传输出现问题时,重试的次数
--retry-delay SECONDS
	传输出现问题时,设置重试间隔时间
--retry-max-time SECONDS
	传输出现问题时,设置最大重试时间
-s, --silent
	静默模式。不输出任何东西
-S, --show-error
	显示错误
--socks4 HOST[:PORT]
	用 socks4 代理给定主机和端口
--socks5 HOST[:PORT]
	用 socks5 代理给定主机和端口
--stderr FILE
	将对 stderr 的所有写入重定向到指定的文件
-t, --telnet-option OPT=VAL
	Telnet 选项设置
--trace FILE
	对指定文件进行 debug
--trace-ascii FILE
	启用对所有传入和传出数据(包括描述性信息)的完整跟踪转储到给定文件。使用“-”作为文件名将输出发送到 stdout
--trace-time
	跟踪详细输出时,添加时间戳
-T, --upload-file FILE
	上传文件
--url URL
	指定要提取的 URL
-u, --user USER[:PASSWORD]
	设置服务器的用户和密码
-U, --proxy-user USER[:PASSWORD]
	设置代理用户名和密码
-w, --write-out FORMAT
	什么输出完成后
-x, --proxy HOST[:PORT]
	在给定的端口上使用HTTP代理
-X, --request COMMAND
	指定什么命令
-y, --speed-time
	放弃限速所要的时间,默认为30
-Y, --speed-limit
	停止传输速度的限制,速度时间

4. Los ejemplos más comunes

(1) obtener datos página determinada.

curl https://github.com/dablelv/CEasyLocalLog/archive/master.zip
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

(2) la salida a un archivo con el mismo nombre que un archivo remoto local.

curl -O  https://github.com/jindeng/sz14.git
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   162  100   162    0     0    303      0 --:--:-- --:--:-- --:--:--   303

#查看文件
ls
sz14.git

(3) Modo silencioso descargar cosas.

curl -s -O  https://github.com/jindeng/sz14.git

(4) requieren autorización para acceder a una página que proporciona un nombre de usuario y la contraseña están autorizados por la opción -u.

curl -uroot  https://github.com/jindeng/sz14.git
Enter host password for user 'root':

(5) para visualizar una barra de progreso.

curl --progress-bar  -O  https://github.com/jindeng/sz14.git
######################################################################## 100.0%

(6) sólo en respuesta a imprimir la información de cabecera.

curl -I https://github.com/jindeng/sz14.git

Se puede imprimir solamente por --head -I o cabecera HTTP información.

(7) para autenticar con un rizo.

curl -u user:pwd  https://github.com/jindeng/sz14.git

(8) para limitar la velocidad de descarga de rizo.

curl URL --limit-rate 50k

Uso --limit-limitación de velocidad velocidades de descarga de la curvatura, con el comando k (kilobytes), y m (megabytes) para descargar el límite de velocidad especificado.

(9) especifica el tamaño máximo de archivo puede ser descargado.

curl URL --max-filesize bytes

Puede descargarse utilizando el tamaño máximo de archivo especificado --max-tamaño del archivo, si el tamaño del archivo supera el límite, entonces el comando devuelve un código de salida distinto de cero, se devuelve 0 si el comando es normal.

(10) el agente de usuario se proporciona con un rizo.

curl URL -A "Mozilla/5.0"

Algunos sitios visitados se le pedirá sólo utilizan el navegador Internet Explorer de acceso, porque estos sitios configurado para revisar el agente de usuario, el agente de usuario puede utilizar el rizo se establece en IE, por lo que se puede visitar. Usar opciones -A o --user-agente.

la información de cabecera (11) personalizado al servidor. Cabecera HTTP de otra información también pueden enviarse usando rizo, uso -H "información de cabecera" se transmite una pluralidad de información de cabecera.

curl -H "Host:man.linuxde.net" -H "accept-language:zh-cn" URL

(12) Galletas de ajuste rizo. --cookie opción de uso para especificar una cookie, más de una galleta separados por un punto y coma.

curl URL --cookie "user=root;pass=123456"

La cookie se guarda como un archivo, el uso --cookie-frasco.

curl URL --cookie-jar cookie_file

cadena de referencia página de ajuste (13) rizo. Consulte la opción de página para especificar el uso de --referer cadena.

curl --referer URL1 URL2

Consulte la página se encuentra en una cadena de encabezado HTTP, utilizado para indicar la página que el usuario está llegando desde la página actual, si el usuario hace clic en una página web conectada a A, entonces el usuario saltará a la página B, página B cabeza consulte la página contiene la parte de la cadena a de la URL de la página web.

(14) HTTP. rizo puede continuar la descarga de un archivo específico de compensación, que puede especificar una cantidad de desplazamiento será parte de un archivo a descargar.

curl URL/File -C OFFSET

Desplazamiento en bytes número entero, si let enrollamiento automáticamente inferir la posición correcta utilizando la hoja de vida:

curl -C - URL

(15) en busca de contenidos de la página en un archivo.

curl -o git.html https://github.com/jindeng/sz14.git

http error no se visualiza cuando falla (16) de conexión.

curl -f https://github.com/jindeng/sz14.git
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

(17) a través de FTP de subida.

curl -T test.sql ftp://用户名:密码@ip:port/demo/curtain/bbstudy_files/ 

(18) a través de ftp descarga.

curl -u 用户名:密码 -O URL

referencias

[1] rizo (1) Manual
[2] RDCC [Linux] paso a paso el aprendizaje de Linux -. Comando curl (193)

Publicados 519 artículos originales · ganado elogios 1567 · Vistas 2,02 millones +

Supongo que te gusta

Origin blog.csdn.net/K346K346/article/details/104743660
Recomendado
Clasificación