Aide HTTP : Comment tester HTTP en utilisant Telnet

Telnet est un programme favori de dépannage de longue date pour diagnostiquer les problèmes de connexion. Il peut être utilisé pour tenter de se connecter à un serveur sur un port donné. Généralement, vous pouvez rapidement vérifier si le côté distant est en "écoute".

Plus précisément, telnet peut être utilisé pour tester des scénarios HTTP, efficacement grâce à toutes les couches de décapage respectueux d'un navigateur web. Le débugage HTTP en utilisant telnet est un excellent moyen d'examiner exactement ce qui est retourné à votre navigateur Web pour une URL particulière. Cela vous permet de voir en-têtes et de recueillir d'autres informations relatives au serveur Web.

Voici un exemple simple faisant une demande HTTP 1.1.

Commencez à ouvrir une invite de commande. Par exemple, si vous utilisez Windows, Démarrer -> Exécuter -> cmd . (Si vous utilisez Windows, vous pouvez utiliser quelque chose comme Cygwin, ou Putty plutôt que l'invite de DOS.)

Si vous faite du telnet sur SSL (HTTPS), consultez l'article telnet SSL.

Exemple 1, avec telnet HTTP (redirection)

ENTREE:

# telnet www.placeoweb.com 80

Note : cela lance le programme telnet et essaye de se connecter au serveur pour "www.placeoweb.com" sur le port 80.

SORTIE:

Trying 91.121.76.65...
Connected to ks.placeoweb.com.
Escape character is '^]'.

ENTREE:

GET /gps/ HTTP/1.1
Host: www.placeoweb.com
saut de ligne (avec ENTRÉE)

Note : besoin de frapper à deux reprises ENTRÉE après "host"

SORTIE:

HTTP/1.0 302 Moved Temporarily
Date: Wed, 21 Dec 2011 04:49:28 GMT
Server: Apache/2.2.9 (Debian) PHP/5.3.8-1~dotdeb.1 with Suhosin-Patch
X-Powered-By: PHP/5.3.8-1~dotdeb.1
Location: ./gpx/
Vary: Accept-Encoding
Content-Length: 0
Content-Type: text/html
Connection: keep-alive

Dans ce cas, il s'agit d'une redirection de /gps/ vers /gps/gpx/

Exemple 2, avec telnet HTTP (contenu de la page)

ENTREE:

GET /ip/ HTTP/1.1
Host: www.placeoweb.com
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
saut de ligne (avec ENTRÉE)

SORTIE:

HTTP/1.0 200 OK
Date: Wed, 21 Dec 2011 04:54:42 GMT
Server: Apache/2.2.9 (Debian) PHP/5.3.8-1~dotdeb.1 with Suhosin-Patch
X-Powered-By: PHP/5.3.8-1~dotdeb.1
Vary: Accept-Encoding
Content-Length: 2093
Content-Type: text/html
Connection: keep-alive

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Votre IP : 77.242.201.52 (77.242.201.52)</title>
</head>

<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

... le long code HTML de la page inutile ici ...

<div align="center">
  <p>   <strong>
    17.232.101.25    </strong> ( est votre IP internet )<br />
    17.232.101.25    ( est également votre IP WAN ) </p>
</div>
</body>