Pages : 1
#1 Le 19/02/2011, à 16:25
- wido
[Résolu] Ping et Python3
Bonjour,
existe-t-il un module ou une façon de faire pour pinger un site comme par exemple google.com?
j'ai deux trois idées comme subprocess et de faire appel à ping comme dans l'exemple: http://stackoverflow.com/questions/3168 … -in-python, si vous pouvez m'aiguiller.
Dernière modification par wido (Le 20/02/2011, à 17:47)
Hors ligne
#2 Le 20/02/2011, à 17:46
- wido
Re : [Résolu] Ping et Python3
import urllib.request
site = "www.google.com"
# Tester le site.
req = urllib.request.Request("http://"+site)
try: urllib.request.urlopen(req)
except urllib.error.URLError as e:
print(site, "hors ligne ou probleme de connexion")
print(e.reason)
sys.exit()
Hors ligne
#3 Le 21/02/2011, à 19:11
- Uda
Re : [Résolu] Ping et Python3
Wido, ce n'est pas vraiment un ping que tu fais.
Tu vérifies la présence d'un serveur web à l'adresse indiquée.
Donc, cela dépend de ce que tu veux faire.
Le ping se base sur la commande ECHO du protocole ICMP.
http://en.wikipedia.org/wiki/Ping
Je ne pense pas qu'il y a une implémentation standard de ce protocole dans la librairie python.
Dans, le lien sur stackoverflow, il y a un lien vers un implémentation python a l'aide des sockets.
https://gist.github.com/255009
A voir si tu peux pas la reprendre pour ton utilisation (probable qu'il faille la modifier pour fonctionner en python3).
Mais, j'ai l'impression que cela nécessite les droits super utilisateur pour pouvoir envoyer une commande, donc le subprocess ping est peut être ce qu'il y a de plus simple.
Dernière modification par Uda (Le 21/02/2011, à 19:14)
Hors ligne
#4 Le 22/02/2011, à 23:35
- wido
Re : [Résolu] Ping et Python3
Je n'ai pas les compétences pour rendre le script compatible à python3.
l'idée était uniquement de savoir si le site est accessible, le script final est de télécharger les derniers paquets d'un miroir pour archlinux.
Hors ligne
#5 Le 23/02/2011, à 12:23
- Uda
Re : [Résolu] Ping et Python3
Effectivement dans ce cas, le ping ne te sert a rien.
Le ping ne te permet pas de savoir si le serveur http fonctionne ou pas.
Hors ligne
Pages : 1