Se connecter / S'enregistrer
Votre question

[Résolu][Python] socket/telnet/whois comment faire une requete

Tags :
  • Telnet
  • Programmation
Dernière réponse : dans Programmation
29 Juin 2011 15:35:24

Bonjour,

je continue sur ma lancée de python et la... je bloque. J'ai décider d'interroger un serveur whois par telnet pour récupérer mes infos plus facilement que par la récupération de la page web du whois (c.f. mon mess précédent). Donc j'ai voulu utiliser les socket, mais le script bloque au niveau du s.recv() :
  1. import socket
  2.  
  3. HOST = 'whois.iana.org'
  4. PORT = 43
  5. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  6. s.connect((HOST, PORT))
  7. s.send(b'123.123.123.123')
  8. data = s.recv(1024)
  9. s.close()
  10. print('Received', repr(data))


Ce code vient de l'exemple de python. Il bloque sans rien faire au s.recv() et je ne peux faire aucune action hormis quitter la fenetre.

Quelqu'un a t il une idée? mon but final etant de récupérer les infos d'un whois.

D'avance merci !
@+

Autres pages sur : resolu python socket telnet whois requete

29 Juin 2011 17:01:42

Résolu :

le host doit etre une ip, faire un while sur la reception des data :
  1. from socket import *
  2.  
  3. HOST = '192.0.47.59'
  4. PORT = 43
  5. s = socket(AF_INET, SOCK_STREAM)
  6. s.connect((HOST, PORT))
  7. s.send("62.123.123.123\r\n")
  8.  
  9. d=""
  10.  
  11. while True:
  12. tmp=s.recv(4096)
  13. d+=tmp
  14. if not tmp:
  15. break
  16.  
  17. s.close()
  18.  
  19. print(repr(d))


pour avoir l'ip a partir du nom de domaine : gethostbyname('nomDeDomaine')

Voila :) 
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS