Se connecter avec
S'enregistrer | Connectez-vous

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

Dernière réponse : dans Programmation
Expert Programmation

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 !
@+
Lassé par la pub ? Créez un compte
Expert Programmation

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 :) 
Lassé par la pub ? Créez un compte
Tom's guide dans le monde