breve introducción
rizo es comúnmente herramienta de línea de comandos usado, utilizado para solicitar que el servidor Web. Su nombre es el significado del cliente (cliente) de la herramienta URL.
Es muy potente, tanto como de los parámetros de línea de comandos docenas. Si experta entonces cartero puede sustituir este tipo de interfaz gráfica.
En este artículo se describen sus principales parámetros de línea de comandos, como una referencia diaria para un fácil acceso. Principalmente traducido del "rizo Cookbook" . Para ahorrar espacio, los siguientes ejemplos no incluyen el tiempo de ejecución de salida, los principiantes pueden mirar mi escritura previa "rizo tutorial para principiantes" .
Cuando no hay parámetros, rizo es la emisión de una petición GET.
$ curl https://www.example.com
El comando anterior para www.example.com
emitir una petición GET, el servidor de contenido será devuelto en la salida de línea de comandos.
-UNA
-A
Parámetro especifica el encabezado de agente de usuario cliente, es decir User-Agent
. cadena de agente de usuario por defecto rizo curl/[version]
.
$ curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' https://google.com
El comando anterior User-Agent
cambiar el navegador Chrome.
$ curl -A '' https://google.com
El comando anterior eliminará User-Agent
cabecera.
También puede -H
cambiar los parámetros especifican directamente cabecera User-Agent
.
$ curl -H 'User-Agent: php/1.0' https://google.com
-si
-b
parámetros de la cookie utilizan para enviar al servidor.
$ curl -b 'foo=bar' https://google.com
El comando anterior genera una cabecera Cookie: foo=bar
, que transmite al servidor un nombre foo
, un valor bar
de Cookie.
$ curl -b 'foo1=bar;foo2=bar2' https://google.com
El comando anterior transmite dos Cookie.
$ curl -b cookies.txt https://www.google.com
El comando anterior lee los archivos locales cookies.txt
, que son las cookies (véase el conjunto de servidores -c
parámetros), y lo envía al servidor.
-C
-c
ajustes de los parámetros de galletas a un servidor de archivos.
$ curl -c cookies.txt https://www.google.com
El comando anterior responder a HTTP archivo de texto escrito conjunto de servidores de cookies cookies.txt
.
-re
-d
Parámetros utilizados para datos de transmisión solicitud cuerpo POST.
$ curl -d'login=emma&password=123'-X POST https://google.com/login # 或者 $ curl -d 'login=emma' -d 'password=123' -X POST https://google.com/login
Se utiliza -d
después de los parámetros, se añade automáticamente HTTP encabezado de la solicitud Content-Type : application/x-www-form-urlencoded
. Y los métodos de solicitud POST automáticamente convertidos, pueden ser omitidos -X POST
.
-d
datos de los parámetros locales pueden ser archivo de texto de lectura se transmite al servidor.
$ curl -d '@data.txt' https://google.com/login
El comando anterior para leer data.txt
el contenido de un archivo, se envían al servidor ya que los datos de los mismos.
--Hojas-urlencode
--data-urlencode
parámetros equivalentes -d
, POST cuerpo de solicitud de transmisión de datos, excepto que los datos automáticamente se transmitirá la codificación URL.
$ curl --data-urlencode 'comment=hello world' https://google.com/login
En el código anterior, los datos transmitidos hello world
tienen un espacio entre, se requiere codificación URL.
-mi
-e
Parámetro establece el encabezado HTTP Referer
que indica la fuente de la solicitud.
curl -e 'https://google.com?q=example' https://www.example.com
El comando anterior Referer
encabezado se establece https://google.com?q=example
.
-H
Parámetros de cabeceras que aumentan directamente Referer
para lograr el mismo efecto.
curl -H 'Referer: https://google.com?q=example' https://www.example.com
-F
-F
Los parámetros utilizados para cargar archivos binarios en el servidor.
$ curl -F '[email protected]' https://google.com/profile
El comando anterior se sumará encabezado de solicitud HTTP Content-Type: multipart/form-data
, el archivo photo.png
como un file
campo para cargar.
-F
Los parámetros pueden ser especificados tipo MIME.
$ curl -F '[email protected];type=image/png' https://google.com/profile
El comando anterior especifica el tipo MIME image/png
, de lo contrario, se cerrarán tipo MIME está establecido application/octet-stream
.
-F
Los parámetros también pueden especificar el nombre del archivo.
$ curl -F '[email protected];filename=me.png' https://google.com/profile
El comando anterior, el archivo original se llama photo.png
, pero el servidor recibe un archivo llamado me.png
.
-SOL
-G
Los parámetros utilizados para construir la cadena de consulta de la URL.
$ curl -G -d 'q=kitties' -d 'count=20' https://google.com/search
El comando anterior emitirá una petición GET, es en realidad la URL solicitada https://google.com/search?q=kitties&count=20
. Si se omite --G
, se emitirá una petición POST.
Si las necesidades de los datos codificados en URL para ser combinados con --data--urlencode
parámetros.
$ curl -G --data-urlencode 'comment=hello world' https://www.example.com
-H
-H
Los parámetros se añaden a la cabecera de petición HTTP.
$ curl -H 'Accept-Language: en-US' https://google.com
El comando anterior agrega cabeceras HTTP Accept-Language: en-US
.
$ curl -H 'Accept-Language: en-US' -H 'Secret-Message: xyzzy' https://google.com
Los dos comandos anteriores se suman las cabeceras HTTP.
$ curl -d '{"login": "emma", "pass": "123"}' -H 'Content-Type: application/json' https://google.com/login
El comando anterior agrega las peticiones HTTP son Content-Type: application/json
seguidos por -d
los parámetros de transmisión de datos JSON.
-yo
-i
Imprimir las cabeceras HTTP de respuesta del servidor parámetro.
$ curl -i https://www.example.com
Después de recibir la respuesta del servidor comando anterior, la primera salida de las cabeceras de respuesta del servidor, a continuación, una línea en blanco, a continuación, la banda fuente de salida.
-YO
-I
parámetro de petición HEAD envió, a continuación, el servidor devolverá una cabecera HTTP al servidor de impresión.
$ curl -I https://www.example.com
La salida del comando anterior respuesta del servidor a una petición HEAD.
--head
Equivalentes a los parámetros -I
.
$ curl --head https://www.example.com
-k
-k
parámetro SSL especifica la detección omitida.
$ curl -k https://www.example.com
El comando anterior no comprueba el certificado SSL del servidor es correcto.
-L
-L
Parámetros seguirán solicitudes redirecciones HTTP del servidor. predeterminado rizo no sigue las redirecciones.
$ curl -L -d 'tweet=hi' https://api.twitter.com/tweet
--limit-tasa
--limit-rate
Se utiliza para limitar el ancho de banda de las solicitudes y respuestas HTTP para simular entorno de baja velocidad.
$ curl --limit-rate 200k https://google.com
El comando anterior limitar el ancho de banda de 200K bytes por segundo.
-O
-o
Los parámetros se guardan en un servidor de archivos para responder, equivalente al wget
comando.
$ curl -o example.html https://www.example.com
El comando anterior www.example.com
ahorrar example.html
.
-El
-O
Los servidores responde con parámetros guardados en un archivo, y la última parte de la URL como nombre de archivo.
$ curl -O https://www.example.com/foo/bar.html
El comando anterior guardará el servidor para responder a un archivo llamado bar.html
.
-s
-s
Parámetro no errores de salida y la información de progreso.
$ curl -s https://www.example.com
Una vez que se produce el error comando anterior, no se muestra ningún mensaje de error. Error no se produce, se mostrará resultados que operan correctamente.
Si quieres rizo no produce ninguna salida, puede utilizar el siguiente comando.
$ curl -s -o /dev/null https://google.com
-S
-S
Especifica los parámetros que sólo los mensajes de error de salida, y por lo general -s
se usan juntos.
$ curl -s -o /dev/null https://google.com
El comando anterior sin salida, a menos que se produzca un error.
-u
-u
Los parámetros utilizados para establecer el nombre de usuario y la contraseña de autenticación del servidor.
$ curl -u 'bob:12345' https://google.com/login
El comando anterior establece el nombre de usuario bob
, contraseña 12345
, y luego en el encabezado HTTP Authorization: Basic Ym9iOjEyMzQ1
.
rizo dentro de la URL puede identificar un nombre de usuario y contraseña.
$ curl https://bob:[email protected]/login
El comando anterior puede identificar qué URL de un nombre de usuario y una contraseña, que se convirtió en el interior de ejemplo HTTP encabezado.
$ curl -u 'bob' https://google.com/login
El comando anterior sólo se establece un nombre de usuario, después de la ejecución, rizo le pedirá al usuario que introduzca una contraseña.
-v
-v
Salida de todo los parámetros del proceso de comunicación para la depuración.
$ curl -v https://www.example.com
--trace
Los parámetros también se pueden utilizar para depurar, sino también salidas de datos binarios sin formato.
$ curl --trace - https://www.example.com
-X
-x
Parámetro especifica las peticiones HTTP proxy.
$ curl -x socks5://james:cats@myproxy.com:8080 https://www.example.com
HTTP petición especificada por el comando anterior myproxy.com:8080
se emite de proxy socks5.
Si no se especifica el contrato de agencia, el valor predeterminado es HTTP.
$ curl -x james:cats@myproxy.com:8080 https://www.example.com
El comando anterior, las solicitudes de agentes utilizando el protocolo HTTP.
-X
-X
El método de solicitud HTTP parámetros Especifica.
$ curl -X POST https://www.example.com
El comando anterior https://www.example.com
peticiones emitidas POST.