Prueba de interfaz curl

curl es una herramienta de línea de comandos comúnmente utilizada para solicitar un servidor web. Su nombre es el significado de la herramienta de URL del cliente.

Su función es muy poderosa, Linux básicamente viene con curl, se puede ver contenido más completo: Curl Cookbook

Enlace de referencia para este artículo: http://www.ruanyifeng.com/blog/2019/09/curl-reference.html

1. Cuando no hay parámetros, curl envía una solicitud GET.

curl https: // www.baidu.com/

El comando anterior envía una solicitud GET a www.baidu.com, y el contenido devuelto por el servidor se mostrará en la línea de comando.

-UNA

-AEl parámetro especifica el encabezado del agente de usuario del cliente, es decir User-Agent. La cadena de agente de usuario predeterminada para curl es 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 se User-Agentcambiará al navegador Chrome.

$ curl -A '' https://google.com 

El comando anterior eliminará el User-Agentencabezado.

También puede -Hespecificar el encabezado directamente a través de parámetros y cambiarlo User-Agent.

$ curl -H 'User-Agent: php/1.0' https://google.com 

-si

-bLos parámetros se utilizan para enviar cookies al servidor.

$ curl -b 'foo=bar' https://google.com 

El comando anterior generará un encabezado Cookie: foo=bary enviará una cookie nombrada fooy valorada al servidor bar.

$ curl -b 'foo1=bar;foo2=bar2' https://google.com 

El comando anterior envía dos cookies.

$ curl -b cookies.txt https://www.google.com 

El comando anterior lee el archivo local cookies.txt, que contiene la cookie establecida por el servidor (ver -cparámetros), y la envía al servidor.

-C

-cEl parámetro escribe la cookie establecida por el servidor en un archivo.

$ curl -c cookies.txt https://www.google.com 

El comando anterior escribe la cookie establecida por la respuesta HTTP del servidor a un archivo de texto cookies.txt.

-re

-dEl parámetro se usa para enviar el cuerpo de datos de la solicitud 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 

Después de usar los -dparámetros, la solicitud HTTP agregará automáticamente encabezados Content-Type : application/x-www-form-urlencoded. Y convertirá automáticamente la solicitud al método POST, por lo que puede omitirse -X POST.

-dEl parámetro puede leer los datos del archivo de texto local y enviarlo al servidor.

$ curl -d '@data.txt' https://google.com/login 

El comando anterior lee data.txtel contenido del archivo y lo envía al servidor como un cuerpo de datos.

--data-urlencode

--data-urlencodeEl parámetro es equivalente al -dcuerpo de datos de la solicitud POST. La diferencia es que los datos enviados serán codificados por URL automáticamente.

$ curl --data-urlencode 'comment=hello world' https://google.com/login 

En el código anterior, hello worldhay un espacio entre los datos enviados , que requiere codificación de URL.

-mi

-eEl parámetro se usa para establecer el encabezado HTTP Referer, que indica el origen de la solicitud.

curl -e 'https://google.com?q=example' https://www.example.com 

El comando anterior establece el Refererencabezado https://google.com?q=example.

-HLos parámetros se pueden agregar directamente Refererpara lograr el mismo efecto.

curl -H 'Referer: https://google.com?q=example' https://www.example.com 

-F

-FEl parámetro se usa para cargar un archivo binario al servidor.

$ curl -F '' https://google.com/profile 

El comando anterior agregará un encabezado a la solicitud HTTP Content-Type: multipart/form-datay luego cargará el archivo photo.pngcomo un filecampo.

-FEl parámetro puede especificar el tipo MIME.

$ curl -F ';type=image/png' https://google.com/profile 

El comando anterior especifica el tipo MIME image/png; de lo contrario, curl establecerá el tipo MIME application/octet-stream.

-FEl parámetro también puede especificar el nombre del archivo.

$ curl -F ';filename=me.png' https://google.com/profile 

En el comando anterior, el nombre del archivo original es photo.png, pero el nombre del archivo recibido por el servidor me.png.

-SOL

-GLos parámetros se utilizan 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 solicitud GET, la URL solicitada real es https://google.com/search?q=kitties&count=20. Si se omite --G, se emitirá una solicitud POST.

Si los datos requieren codificación URL, los --data--urlencodeparámetros se pueden combinar .

$ curl -G --data-urlencode 'comment=hello world' https://www.example.com 

-H

-HEl parámetro agrega el encabezado de la solicitud HTTP.

$ curl -H 'Accept-Language: en-US' https://google.com 

El comando anterior agrega un encabezado HTTP Accept-Language: en-US.

$ curl -H 'Accept-Language: en-US' -H 'Secret-Message: xyzzy' https://google.com 

El comando anterior agrega dos encabezados HTTP.

$ curl -d '{"login": "emma", "pass": "123"}' -H 'Content-Type: application/json' https://google.com/login 

El comando anterior agrega el encabezado de la solicitud HTTP Content-Type: application/jsony luego -denvía los datos JSON con parámetros.

-yo

-iEl parámetro imprime el encabezado HTTP al que responde el servidor.

$ curl -i https://www.example.com 

Después de recibir la respuesta del servidor, el comando anterior genera el encabezado de la respuesta del servidor, luego deja en blanco una línea y luego genera el código fuente de la página web.

-YO

-IEl parámetro envía una solicitud HEAD al servidor y luego imprime los encabezados HTTP devueltos por el servidor.

$ curl -I https://www.example.com 

El comando anterior genera la respuesta del servidor a la solicitud HEAD.

--headEl parámetro es equivalente a -I.

$ curl --head https://www.example.com 

-k

-kEl parámetro especifica omitir la detección SSL.

$ curl -k https://www.example.com 

El comando anterior no verificará si el certificado SSL del servidor es correcto.

-L

-LEl parámetro hace que la solicitud HTTP siga la redirección del servidor. curl no sigue las redirecciones por defecto.

$ curl -L -d 'tweet=hi' https://api.twitter.com/tweet 

- tasa límite

--limit-rateSe utiliza para limitar el ancho de banda de las solicitudes y respuestas HTTP, simulando un entorno de velocidad de red lenta.

$ curl --limit-rate 200k https://google.com 

El comando anterior limita el ancho de banda a 200K bytes por segundo.

-o

-oEl parámetro guarda la respuesta del servidor como un archivo, que es equivalente al wgetcomando.

$ curl -o example.html https://www.example.com 

El comando anterior se www.example.comguardará como example.html.

-O

-OEl parámetro guarda la respuesta del servidor como un archivo y utiliza la última parte de la URL como el nombre del archivo.

$ curl -O https://www.example.com/foo/bar.html 

El comando anterior guarda la respuesta del servidor como un archivo con el nombre del archivo bar.html.

-s

-sEl parámetro no generará información de error y progreso.

$ curl -s https://www.example.com 

Una vez que se produce un error en el comando anterior, el mensaje de error no se mostrará. Si no se produce ningún error, el resultado de la operación se mostrará normalmente.

Si desea que curl no produzca salida, puede usar el siguiente comando.

$ curl -s -o /dev/null https://google.com 

-S

-SEl parámetro especifica que solo se emite el mensaje de error, que generalmente se -susa junto con él.

$ curl -s -o /dev/null https://google.com 

El comando anterior no tiene salida a menos que ocurra un error.

-u

-uLos parámetros se utilizan para establecer el nombre de usuario y la contraseña para la autenticación del servidor.

$ curl -u 'bob:12345' https://google.com/login 

El comando anterior establece el nombre de usuario boby la contraseña 12345y luego lo convierte en un encabezado HTTP Authorization: Basic Ym9iOjEyMzQ1.

curl puede reconocer el nombre de usuario y la contraseña en la URL.

$ curl https://bob:12345@google.com/login 

El comando anterior puede identificar el nombre de usuario y la contraseña en la URL y convertirlo en el encabezado HTTP en el ejemplo anterior.

$ curl -u 'bob' https://google.com/login 

El comando anterior solo establece el nombre de usuario. Después de la ejecución, curl le pedirá al usuario que ingrese la contraseña.

-v

-vTodo el proceso de comunicación de salida de parámetros se utiliza para la depuración.

$ curl -v https://www.example.com 

--traceLos parámetros también se pueden usar para depurar y también generar datos binarios sin formato.

$ curl --trace - https://www.example.com 

-X

-xEl parámetro especifica el proxy para la solicitud HTTP.

$ curl -x socks5://james:.com:8080 https://www.example.com 

El comando anterior especifica que la solicitud HTTP se myproxy.com:8080envía a través del proxy socks5.

Si no se especifica ningún protocolo proxy, el valor predeterminado es HTTP.

$ curl -x james:.com:8080 https://www.example.com 

En el comando anterior, el proxy solicitado utiliza el protocolo HTTP.

-X

-XEl parámetro especifica el método de la solicitud HTTP.

$ curl -X POST https://www.example.com 

El comando anterior https://www.example.comemite una solicitud POST.

Supongo que te gusta

Origin www.cnblogs.com/mingfan/p/12732505.html
Recomendado
Clasificación