Pagina 1 di 1

Richieste HTTP da linea di comando

Inviato: sab 27 apr 2013, 15:49
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 :)

Re: Richieste HTTP da linea di comando

Inviato: sab 27 apr 2013, 16:14
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

Re: Richieste HTTP da linea di comando

Inviato: sab 27 apr 2013, 18:39
da 414N
Per non parlare di telnet (primo esempio sputato fuori da Google qui).

Re: Richieste HTTP da linea di comando

Inviato: sab 27 apr 2013, 19:44
da targzeta
+1 per wget.

Emanuele

Re: Richieste HTTP da linea di comando

Inviato: dom 28 apr 2013, 16:46
da m0rdr3d
Vale decisamente la pena considerare curl (man curl)

Re: Richieste HTTP da linea di comando

Inviato: gio 2 mag 2013, 19:00
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 :) ).