-k, --inseguro :si está haciendo curl en un sitio web que utiliza un certificado SSL autofirmado entonces curl le dará un error como curl no pudo verificar el certificado . En ese caso, podría usar -k
o --insecure
marca para omitir la validación del certificado .
Ejemplo:
[[email protected]]$ curl --head https://xxx.xxx.xxx.xxx/login
curl: (60) Peer's Certificate issuer is not recognized.
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a
"bundle" of Certificate Authority (CA) public keys (CA certs).
If the default bundle file isn't adequate, you can specify an
alternate file using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented
in the bundle, the certificate verification probably failed
due to a problem with the certificate (it might be expired,
or the name might not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate,
use the -k (or --insecure) option.
[[email protected]]$ curl -k --head https://xxx.xxx.xxx.xxx/login
HTTP/1.1 302 Moved Temporarily
Date: Thu, 07 Dec 2017 04:53:44 GMT
Transfer-Encoding: chunked
Location: https://xxx.xxx.xxx.xxx/login
X-FRAME-OPTIONS: SAMEORIGIN
Set-Cookie: JSESSIONID=xxxxxxxxxxx; path=/; HttpOnly
-i, --include :Esta bandera incluirá el encabezado http. Por lo general, el encabezado http consta del nombre del servidor, la fecha, el tipo de contenido, etc.
Ejemplo:
[[email protected]]$ curl https://google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="https://www.google.com/">here</A>.
</BODY></HTML>
[[email protected]]$ curl -i https://google.com
HTTP/1.1 301 Moved Permanently
Location: https://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Thu, 07 Dec 2017 05:13:44 GMT
Expires: Sat, 06 Jan 2018 05:13:44 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 220
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alt-Svc: hq=":443"; ma=2592000; quic=51303431; quic=51303339;
quic=51303338; quic=51303337; quic=51303335,quic=":443"; ma=2592000;
v="41,39,38,37,35"
<HTML><HEAD><meta http-equiv="content-.....
-X, --solicitud :Esta bandera se usará para enviar una solicitud personalizada al servidor. La mayoría de las veces hacemos GET
, HEAD
y POST
. Pero si necesita una solicitud específica como PUT
, FTP
, DELETE
entonces puedes usar esta bandera. El siguiente ejemplo enviará una solicitud de eliminación a google.com
Ejemplo:
[[email protected]]$ curl -X DELETE google.com
..........................
<p><b>405.</b> <ins>That’s an error.</ins>
<p>The request method <code>DELETE</code> is inappropriate for the URL
<code>/</code>. <ins>That’s all we know.</ins>`
Está claramente documentado aquí.
Editar
Desde la página man
-k, --inseguro
(TLS) De manera predeterminada, se verifica que todas las conexiones SSL que curl realiza sean seguras. Esta opción permite que curl continúe y funcione incluso para conexiones de servidor que de otro modo se considerarían inseguras.
La conexión del servidor se verifica asegurándose de que el certificado del servidor contenga el nombre correcto y se verifica correctamente usando el almacén de certificados.
Esto significa que con -k
, curl
aceptará conexiones a HTTPS incluso si hay errores de certificado (certificado obsoleto, certificado autoemitido, etc.)
-i, --include
Incluya los encabezados de respuesta HTTP en la salida. Los encabezados de respuesta HTTP pueden incluir cosas como el nombre del servidor, cookies, fecha del documento, versión HTTP y más...
Para ver los encabezados de las solicitudes, considere la opción -v, --verbose.
Véase también -v, --verbose
No hay mucho que pueda decir sobre esto en lenguaje sencillo. Si no está familiarizado con los encabezados de respuesta HTTP, aquí es donde puede encontrar más información.
-X, --solicitud
(HTTP) Especifica un método de solicitud personalizado para usar al comunicarse con el servidor HTTP. Se utilizará el método de solicitud especificado en lugar del método utilizado de otro modo (que por defecto es GET). Lea la especificación HTTP 1.1 para obtener detalles y explicaciones. Las solicitudes HTTP adicionales comunes incluyen PUT y DELETE, pero tecnologías relacionadas como WebDAV ofrecen PROPFIND, COPY, MOVE y más.
Normalmente no necesita esta opción. Todo tipo de solicitudes GET, HEAD, POST y PUT se invocan más bien mediante el uso de opciones de línea de comandos dedicadas.
Esta opción solo cambia la palabra real utilizada en la solicitud HTTP, no altera la forma en que se comporta curl. Entonces, por ejemplo, si desea realizar una solicitud HEAD adecuada, usar -X HEAD no será suficiente. Necesitas usar la opción -I, --head.
La cadena de método que establezca con -X, --request se usará para todas las solicitudes, que si, por ejemplo, usa -L, --location puede causar efectos secundarios no deseados cuando curl no cambia el método de solicitud de acuerdo con los códigos de respuesta HTTP 30x:y similares.
(FTP) Especifica un comando FTP personalizado para usar en lugar de LIST al hacer listas de archivos con FTP.
(POP3) Especifica un comando POP3 personalizado para usar en lugar de LIST o RETR. (Agregado en 7.26.0)
(IMAP) Especifica un comando IMAP personalizado para usar en lugar de LISTA. (Agregado en 7.30.0)
(SMTP) Especifica un comando SMTP personalizado para usar en lugar de HELP o VRFY. (Agregado en 7.34.0)
Si esta opción se usa varias veces, se usará la última.
Cuando usa curl para acceder a una página web, en realidad está enviando la solicitud GET al servidor. Hay otros tipos de solicitudes que se pueden usar y -X
es la manera de especificar esto. Como se indicó anteriormente, este comando generalmente no es necesario. Por ejemplo, si necesita una solicitud POST, puede usar -d
en lugar de usar -X
. Sin más información, es difícil decir por qué necesita -X
en su llamada API.