Richieste HTTP da linea di comando

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
nyquist
Linux 2.x
Linux 2.x
Messaggi: 269
Iscritto il: sab 2 ago 2008, 16:02
Nome Cognome: Cristiano Urban
Slackware: 14.2 multilib
Kernel: 4.4.240
Desktop: KDE
Località: Gonars (UD)
Contatta:

Richieste HTTP da linea di comando

Messaggio da nyquist »

Salve a tutti,
mi chiedevo se esistesse un modo per effettuare una richiesta HTTP da linea di comando, in maniera diretta, cioè senza scrivere codice aggiuntivo per implementare la richiesta.
Quello che intendo è una cosa del tipo:

Codice: Seleziona tutto

bash-4.2$ GET http://www.prova.it/
Non so quanto la mia domanda sia sensata. Il fatto è che dovendo implementare un proxy HTTP/CoAP, vorrei capire se è possibile simulare una richiesta HTTP (in particolare GET, POST, PUT, DELETE) da linea di comando. Quindi chiederei lumi al riguardo :)

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Richieste HTTP da linea di comando

Messaggio da ilmich »

se non hai esigenze particolari puoi usare tranquillamente curl o wget per simulare singole richieste http con body(POST, PUT) e senza body(GET, OPTIONS, DELETE & co).

in alternativa puoi usare netcat tipo cosi'

Codice: Seleziona tutto

echo -e "GET / HTTP/1.1\r\nHost: localhost\r\n\r\n" | nc 127.0.0.1 80
che è un modo molto grezzo, ma se conosci il protocollo http hai il controllo completo :D
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Richieste HTTP da linea di comando

Messaggio da 414N »

Per non parlare di telnet (primo esempio sputato fuori da Google qui).

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6629
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Richieste HTTP da linea di comando

Messaggio da targzeta »

+1 per wget.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
m0rdr3d
Linux 2.x
Linux 2.x
Messaggi: 404
Iscritto il: dom 24 dic 2006, 13:40
Slackware: Slackware64-current
Kernel: 3.4.*
Desktop: KDE 4.8.2

Re: Richieste HTTP da linea di comando

Messaggio da m0rdr3d »

Vale decisamente la pena considerare curl (man curl)

Avatar utente
nyquist
Linux 2.x
Linux 2.x
Messaggi: 269
Iscritto il: sab 2 ago 2008, 16:02
Nome Cognome: Cristiano Urban
Slackware: 14.2 multilib
Kernel: 4.4.240
Desktop: KDE
Località: Gonars (UD)
Contatta:

Re: Richieste HTTP da linea di comando

Messaggio da nyquist »

Vi ringrazio per i suggerimenti.
Il dubbio mi era sorto quando sul pc del laboratorio in università (su ubuntu) avevo provato a dare il comando:

Codice: Seleziona tutto

GET http://www.google.it
Mi chiedevo come fosse possibile che funzionasse senza fare nient'altro. Poi ho dato un bel "man GET" e le prime righe comparse sono state queste:

Codice: Seleziona tutto

man GET

NAME
       lwp-request, GET, POST, HEAD - Simple command line user agent
Su slackbuilds.org ho trovato questi due pacchetti perl (vedi i primi due): http://slackbuilds.org/result/?search=lwp&sv=14.0. Non so se il primo sia quello che potrebbe essere di mio interesse.
Ovviamente mancano PUT e DELETE, ma per quelle darò un occhio alla documentazione relativa ai tool che mi avete consigliato voi (avevo già visto qualcosina di sfuggita :) ).

Rispondi