2017-09-12 3 views
0

Je dois obtenir le résultat de la résolution DNS de l'URL d'entrée en utilisant PyCurl. Voici le code:Résultat de résolution DNS dans Pycurl

buf = cStringIO.StringIO() 
c = pycurl.Curl() 
c.setopt(c.URL, url) 
c.setopt(c.WRITEFUNCTION, buf.write) 
c.setopt(c, c.CURL_IPRESOLVE_WHATEVER, host) 
c.setopt(c.HTTPHEADER, ["User-Agent: "]) 
# c.setopt(c.CONNECTTIMEOUT, 20) 
c.setopt(c.TIMEOUT, 15) 
c.setopt(c.FOLLOWLOCATION, True) 
c.perform() 

J'ai cherché la documentation de Pycurl et n'ai pas trouvé une bonne réponse.

Répondre

0

J'ai cherché dans la documentation de libcURL et a trouvé la fonction getinfo() qui est décrit dans ce lien: https://curl.haxx.se/libcurl/c/curl_easy_getinfo.html Mais attention c'est C et lorsque vous l'utilisez en pycurl vous devez convertir des constantes en utilisant ce lien: https://github.com/pycurl/pycurl/blob/master/src/module.c#L1134

comme la réponse à récupérer l'adresse IP d'une URL ligne suivante doit être ajoutée:

print(c.getinfo(c.PRIMARY_IP))