Python>>> Identifier un serveur web

Fermé
sebsauvage - 3 avril 2002 à 16:14
 cuicui - 10 févr. 2007 à 07:48
Pour savoir par exemple sous quel serveur fonctionne un site web, il suffit d'examiner les entêtes http:

>>> import urllib
>>> u = urllib.urlopen(" http://www.commentcamarche.net/index.php3")
>>> print u.headers
Connection: close
Date: Wed, 03 Apr 2002 14:02:10 GMT
Content-Type: text/html
Server: Apache/1.3.14 (Unix) Debian/GNU mod_perl/1.24_01 X-
Powered-By: PHP/3.0.18


Tiens, CCM utilise un serveur Apache... :-)


>>> u = urllib.urlopen(" http://www.microsoft.com/index.html")
>>> print u.headers
Connection: close
Date: Wed, 03 Apr 2002 14:05:19 GMT
Content-Type: text/html
Expires: Wed, 03 Apr 2002 14:05:19 GMT
Cache-Control: no-store, private
Server: Microsoft-IIS/5.0
P3P: CP='ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI'
Pragma: no-cache

Sans suprise : Microsoft utilise le serveur IIS 5, par contre c'est vilain de forcer les caches à ne pas stocker la page.



Par défaut, quand Python fait ses requêtes HTTP, il s'identifie auprès des serveurs web (comme tous les navigateurs):
"User-agent: Python-urllib/1.15".

Rien ne vous empêche d'utiliser un module plus bas niveau (HTTPLIB) pour mettre le User-agent qui vous intéresse et vous faire passer pour n'importe quel navigateur (y compris des navigateurs qui n'existent pas ;-)
A voir également:

1 réponse

reste plus qu'à apprendre à emttre une url correctement et ce sera formidable.

Normalement on commence par là ??
0