Maison >développement back-end >Tutoriel Python >Parlons brièvement du module pycurl_python de Python

Parlons brièvement du module pycurl_python de Python

不言
不言original
2018-04-08 10:50:471809parcourir

PycURl est une bibliothèque de liaison python pour libcurl écrite en langage C. libcurl est une bibliothèque de transport d'URL gratuite et facile à utiliser pour les applications côté client. Ses fonctions sont très puissantes. PycURL est une interface très rapide (voir opération multi-concurrente) et riche en fonctionnalités, mais quelque peu complexe.

pycurl est une implémentation Python de libcurl écrite en langage C. Elle est très puissante et prend en charge les protocoles d'exploitation tels que FTP, HTTP, HTTPS, TELNET, etc. Description des méthodes courantes du module

 : méthode

close(), qui correspond à la méthode curl_easy_cleanup dans le package libcurl, n'a pas de paramètres et implémente la fermeture et le recyclage Courbez les objets.
·La méthode Perform(), correspondant à la méthode curl_easy_perform du package libcurl, n'a pas de paramètres et implémente la soumission de requêtes d'objet Curl.
·Méthode setopt(option,value), correspondant à la méthode curl_easy_setopt dans le package libcurl. L'option du paramètre est spécifiée via la constante de libcurl. La valeur du paramètre dépendra de l'option, qui peut être une chaîne. , entier ou long Type, objet fichier, liste ou fonction, etc.

pycurl.Curl() #Créer un objet curl
c.setopt(pycurl.CONNECTTIMEOUT,5) #Temps d'attente pour le connexion, réglé sur 0 pour ne pas attendre
c.setopt(pycurl.TIMEOUT,5) #Délai d'expiration de la demande
c.setopt(pycurl.NOPROGRESS,0) #S'il faut bloquer la barre de progression du téléchargement, si ce n'est 0, bloquez-le
c.setopt(pycurl. MAXREDIRS,5) #Spécifiez le nombre maximum de redirections HTTP
c.setopt(pycurl.FORBID_REUSE,1) #Forcer la déconnexion après avoir terminé l'interaction et ne pas réutiliser
c.setopt(pycurl.FRESH_CONNECT,1) # Forcer l'obtention d'une nouvelle connexion, c'est-à-dire remplacer la connexion dans le cache
c.setopt(pycurl.DNS_CACHE_TIMEOUT, 60) #Définir l'heure de sauvegarde des informations DNS, le la valeur par défaut est de 120 secondes
c.setopt(pycurl.URL, "http ://www.baidu.com") #Spécifiez l'URL demandée
c.setopt(pycurl.USERAGENT,"Mozilla/5.2(compatible; MSIE6.0;WindowsNT5.1;SV1;.NETCLR1.1.4322;.NETCLR2 .0.50324)") #Configurer l'agent utilisateur qui demande l'en-tête HTTP
c.setopt(pycurl.HEADERFUNCTION,getheader) #Directer le retour HTTPPHEADER vers la fonction de rappel getheader
c.setopt(pycurl.WRITEFUNCTION,getbody) #Diriger le contenu renvoyé vers la fonction de rappel getbody
c.setopt(pycurl.WRITEHEADER,fileobj) #Diriger le HTTPHEADER renvoyé vers le fileobj file object
c.setopt(pycurl.WRITEDATA,fileobj) #Direct le retour Le contenu HTML est dirigé vers l'objet fichier fileobj

·getinfo(option), qui correspond à la méthode curl_easy_getinfo dans le Package libcurl. L'option de paramètre est spécifiée via la constante de libcurl

c=pycurl.Curl( ) #Créer un objet curl
c.getinfo(pycurl.HTTP_CODE) #Le code d'état HTTP renvoyé
c.getinfo(pycurl.TOTAL_TIME) #Le temps total passé à la fin de la transmission
c.getinfo(pycurl .NAMELOOKUP_TIME) #Temps consommé par la résolution DNS
c.getinfo(pycurl.CONNECT_TIME) #Time passé à établir une connexion
c.getinfo(pycurl.PRANSFER_TIME) #Temps consommé entre l'établissement de la connexion et la préparation de la transmission
c.getinfo(pycurl.STARTTRANSFER_TIME) #Le temps nécessaire entre l'établissement de la connexion et le début de transmission
c.getinfo(pycurl.REDIRECT_TIME) #Le temps nécessaire à la redirection
c.getinfo(pycurl.SIZE_UPLOAD) #Télécharger la taille du paquet
c.getinfo(pycurl.SIZE_DOWNLOAD) #Télécharger la taille du paquet
c.getinfo(pycurl.SPEED_DOWNLOAD) #Vitesse de téléchargement moyenne
c.getinfo(pycurl.SPEED_UPLOAD) #Vitesse de téléchargement moyenne
c.getinfo(pycurl.HEADER_SIZE) #Taille de l'en-tête HTTP

Recommandations associées :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn