11 Utilizzo del comando cURL con esempio in tempo reale

cURL è uno strumento da riga di comando per ottenere o inviare dati utilizzando la sintassi dell’URL.


Se lavori come sviluppatore o nella funzione di supporto, devi essere consapevole utilizzo del comando cURL per la risoluzione dei problemi delle applicazioni Web. cURL è un’utilità multipiattaforma che consente di utilizzare su Windows, MAC e UNIX.

Di seguito sono riportate alcune delle sintassi più utilizzate con un esempio per aiutarti.

Verifica se riesci a connetterti all’URL

Se stai lavorando su un sistema UNIX e stai provando a connettere l’URL esterno, la prima cosa che vuoi fare è controllare se puoi accedere all’URL attraverso l’arricciatura.

arricciare yoururl.com

Non genererà alcun output. Tuttavia, se il server non riesce a connettersi, verrà visualizzato un errore che non è in grado di risolvere l’host.

[[Email protected] tmp] # curl helloitdoesntexist.com
curl: (6) Impossibile risolvere l’host: helloitdoesntexist.com; Errore sconosciuto
[[Email protected] tmp] #

Salva l’output URL / URI su file

Se devi salvare il contenuto dell’URL o dell’URI in un file specifico, puoi utilizzare la sintassi seguente

ricciolo https://yoururl.com > yoururl.html

ex:

[[Email protected] tmp] # curl https://gf.dev > / Tmp / gfhtml
% Totale% ricevuto% Xferd Velocità media Tempo Tempo Tempo Corrente
Dload Upload Velocità totale trascorsa a sinistra
100 18557 0 18557 0 0 72565 0 -: -: – -: -: – -: -: – 72772
[[Email protected] tmp] #

L’esempio sopra salverà tutto il contenuto da gf.dev a /tmp/gf.html

Mostra intestazione richiesta e risposta

Se si verificano problemi e si desidera convalidare, si ottiene l’intestazione richiesta e risposta prevista.

curl -v yoururl.com

Ex:

[[Email protected] tmp] # curl -v https://geekflare.com
* Informazioni su connect () alla porta 443 geekflare.com (# 0)
* Prova 104.25.134.107…
* Collegato alla porta 443 (# 0) di geekflare.com (104.25.134.107)
* Inizializzazione di NSS con certpath: sql: / etc / pki / nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: nessuno
* Connessione SSL tramite TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
* Certificato del server:
* subject: CN = ssl371609.cloudflaressl.com, OU = PositiveSSL Multi-Domain, OU = Domain Control convalidato
* data di inizio: 07 nov 00:00:00 2019 GMT
* data di scadenza: 15 maggio 23:59:59 2020 GMT
* nome comune: ssl371609.cloudflaressl.com
* emittente: CN = server sicuro COMODO ECC Domain Validation CA 2, O = COMODO CA Limited, L = Salford, ST = Greater Manchester, C = GB
> GET / HTTP / 1.1
> User-Agent: curl / 7.29.0
> Host: geekflare.com
> Accetta: * / *
>
< HTTP / 1.1 200 OK
< Data: sab, 09 nov 2019 19:41:37 GMT
< Tipo di contenuto: text / html; charset = UTF-8
< Transfer-Encoding: chunked
< Connessione: keep-alive
< Set-Cookie: __cfduid = d2ce6cd359ebc0b6eb5ff3a454ed042021573328497; scade = dom, 08-nov-20 19:41:37 GMT; percorso = /; domain = .geekflare.com; HttpOnly; Sicuro
< Vary: Accept-Encoding
< Link:; rel ="https://api.w.org/"
< Link:; rel = shortlink
< X-SRCache-Fetch-Status: HIT
< X-SRCache-Store-Status: BYPASS
< Opzioni X-Frame: SAMEORIGIN
< X-Powered-By: EasyEngine v4.0.12
< Via: 1.1 google
< Stato cache CF: DINAMICO
< Sicurezza di trasporto rigorosa: età massima = 15552000; precarico
< X-Content-Type-Options: nosniff
< Alt-Svc: h3-23 =": 443"; ma = 86400
< Expect-CT: età massima = 604800, report-uri ="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< Server: cloudflare
< CF-RAY: 533243e4bcd4bbf4-LHR
<

Scarica a una velocità limite

Se stai lavorando sull’ottimizzazione e desideri vedere quanto tempo impiega a scaricare a una determinata velocità, puoi:-

curl –- limite di velocità 2000B

Ex:

curl –-limit-rate 2000B https://gf.dev

Utilizzo di un proxy per la connessione

Molto utile se si lavora sul server DMZ in cui è necessario connettersi al mondo esterno utilizzando un proxy.

curl –proxy yourproxy: port https://yoururl.com

URL di test con intestazione di iniezione

Puoi usare l’arricciatura inserendo un’intestazione con i tuoi dati per testare o risolvere il problema specifico. Vediamo il seguente esempio da richiedere con Content-Type.

curl –header ‘Content-Type: application / json’ http://yoururl.com

Facendo sopra, stai chiedendo a curl di passare Content-Type come application / json nell’intestazione della richiesta.

Visualizza solo l’intestazione della risposta

Se si sta eseguendo la risoluzione dei problemi e si desidera verificare rapidamente l’intestazione della risposta, è possibile utilizzare la sintassi seguente.

curl –head http://yoururl.com

Ex:

[[Email protected] tmp] # curl –head https://chandan.io
HTTP / 1.1 200 OK
Data: sab, 09 nov 2019 19:51:23 GMT
Tipo di contenuto: testo / html
Connessione: keep-alive
Set-Cookie: __cfduid = d3cb2c7b8e566ad99c870b0af12b0f1eb1573329083; scade = dom, 08-nov-20 19:51:23 GMT; percorso = /; domain = .chandan.io; HttpOnly
X-GUploader-UploadID: AEnB2Uo96JhvJmR2zYUL-Ndh2ta3UD_ykQAB5C7O8cjZQhCf-GxHQ0MsodSzRnl3guSN3ywAYNjtWcPXfwDXjLg3bQ-P5
Scadenza: sab, 09 nov 2019 20:51:23 GMT
Controllo cache: pubblico, età massima = 3600
Ultima modifica: lunedì, 06 agosto 2018 10:45:47 GMT
generazione di x-goog: 1533552347482034
x-goog-metageneration: 1
x-goog-stored-content-encoding: identità
lunghezza-contenuto-memorizzato-x-goog: 24620
x-goog-hash: crc32c = DpDPAQ ==
x-goog-hash: md5 = cIP / 3rusdUx12Zla1kf1yA ==
Classe di memoria x-goog: MULTI_REGIONAL
Accept-Ranges: byte
Stato cache CF: DINAMICO
Expect-CT: età massima = 604800, report-uri ="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Server: cloudflare
CF-RAY: 53325234dc2fbb9a-LHR

[[Email protected] tmp] #

Collega l’URL HTTPS / SSL e ignora qualsiasi errore del certificato SSL

Quando si tenta di accedere all’URL protetto del certificato SSL / TLS e se questo ha il certificato errato o la CN non corrisponde, verrà visualizzato il seguente errore.

curl: (51) Impossibile comunicare in modo sicuro con il peer: il nome di dominio richiesto non corrisponde al certificato del server.

Buone notizie, puoi indicare a cURL di ignorare l’errore cert con il flag –insecure.

curl –insecure https://yoururl.com

Connessione tramite un protocollo specifico (SSL / TLS)

Molto utile per verificare se un determinato URL può eseguire l’handshake su un protocollo SSL / TLS specifico.

Per connettersi utilizzando SSL v3

curl –sslv3 https://yoururl.com

e per diverse versioni TLS

curl –tlsv1 https://example.com
curl –tlsv1.0 https://example.com
curl –tlsv1.1 https://example.com
curl –tlsv1.2 https://example.com
curl –tlsv1.3 https://example.com

Scarica il file dal server FTP

Puoi usare curl anche per scaricare il file specificando username e password.

curl -u utente: password -O ftp: //ftpurl/style.css

Puoi sempre utilizzare “-v“Con qualsiasi sintassi da stampare in modalità dettagliata.

Utilizzo dell’intestazione host

L’intestazione host è utile per testare l’URL di destinazione su IP quando il contenuto richiesto è disponibile solo quando l’intestazione host corrisponde. Oppure, se si desidera testare l’applicazione utilizzando il bilanciamento del carico IP / URL.

curl –header ‘Host: targetapplication.com’ https://192.0.0.1:8080/

Che ne dici di usare cURL online?

Sì, è possibile con i seguenti strumenti. È possibile eseguire cURL in remoto.

Ricciolo online – uno strumento leggero per recuperare l’URL online e la possibilità di aggiungere le seguenti opzioni.

–connect-timeout
–biscotto
–dati
–intestazione
–testa
–Posizione
–max-time
–delega
–richiesta
–utente
–url
–user-agent

generatore di riga di comando cURL – questo è diverso. Ti aiuta a costruire il comando curl in cui puoi inserire informazioni nella bella interfaccia utente e in fondo otterrai il comando cURL.

curl-builder

cURL è un’utilità utile per risolvere un problema di connettività in tempo reale e spero che quanto sopra ti aiuti. Se stai cercando di saperne di più, allora consiglierei Nozioni di base sulla riga di comando di Linux corso online.

TAGS:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map