Webserver al volo

Spesso capita di dover scrivere qualche programmino che richiami il nome del webserver caricato su host Pincopallino: vediamo come fare.

1. Importiamo la libreria socket:
import socket

2. Definiamo due variabili: HOST e PORT, all'interno delle quali definiremo rispettivamente l'host e la porta cui vogliamo vagliare il check:
HOST = "127.0.0.1"
PORT = 80


3. Connettiamoci ed inviamo una richiesta di GET al server:
connessione = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connessione.connect((HOST, PORT))
connessione.send("GET / HTTP/1.0 \n\n")
data = connessione.recv(1024)


4. Splittiamo i dati ricevuti e prendiamo quello che ci serve:
msg = data.split()
server = ''.join(msg[11:13])


5. Stampiamo a video il risultato e chiudiamo la connessione:
print server
connessione.close()


Ecco l'output:
~$ python webserver.py
Apache/1.3.33(Unix)


Lo script completo:
#!/usr/bin/python
import socket
HOST = "127.0.0.1"
PORT = 80
connessione = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connessione.connect((HOST, PORT))
connessione.send("GET / HTTP/1.0 \n\n")
data = connessione.recv(1024)
msg = data.split()
server = ''.join(msg[11:13])
print server
connessione.close()

Privacy Policy