Quali codici di stato HTTP devono essere controllati affinché questa attività di rete funzioni senza problemi?

2

Il mio reparto ufficio accede al server ISP tramite una pagina di accesso del browser keep-alive. Questo, per prestazioni migliori, è incapsulato in un piccolo script python. Questo è quello che fa (Pseudo codice)

1.CheckForActiveInternet
2.if not active
     Login
     KeepAlive
3.else
     report

Nel passaggio 1, un host come "www.google.com" viene controllato per la connessione attiva. Viene restituito un codice di stato e questo è esattamente ciò che il mio dubbio è; quale sarebbe questo codice? 200 o 202 ? Incasa i reindirizzamenti di Google verso gli URL di .co. ** il codice di stato sarebbe 302 che lo rende persino più complicato da quando i nostri reindirizzamenti ISP si verificano anche quando non è attiva alcuna connessione Internet.
Potresti vedere che se controlliamo 302 per decidere se meteorologicamente o no avremmo bisogno di un accesso, potrebbe essere il reindirizzamento di Google o il nostro ISP stesso. Quindi cosa si potrebbe fare qui? Lo script corrente controlla:

if status in (200, 202, ""):
    Connection is Active

Questo è abbastanza vago, vero? Quando una stringa vuota viene restituita come codice di stato? Un sito non di reindirizzamento come wikipedia.org potrebbe fare il trucco che pensavo, ma non so quanto sarebbe possibile questo metodo.

    
posta Renae Lider 26.12.2013 - 21:19
fonte

1 risposta

3

Microsoft lo fa in Windows tentando di scaricare un URL specifico e controllando se ha contenuto statico specifico:

Quando il PC sembra essere connesso alla rete, Windows scaricherà http://www.msftncsi.com/ncsi.txt (e http://ipv6.msftncsi.com/ncsi.txt per verificare la connettività IPv6) e verificare che il corpo della risposta contenga la stringa" Microsoft NCSI ". In caso contrario, c'è qualcosa di sbagliato nella connettività Internet e il triangolo giallo con il punto esclamativo viene visualizzato nella barra delle attività dell'utente.

È possibile utilizzare un algoritmo simile nel proprio programma. Controllando che il testo restituito corrisponda a qualcosa che ti aspetti, da un sito Web conosciuto che non restituisce 302 reindirizzamenti, puoi essere sicuro che il computer sia connesso a Internet.

    
risposta data 27.12.2013 - 00:50
fonte

Leggi altre domande sui tag