
Requêtes Python pour la configuration de l'adresse IP du serveur mandataire
Ceux d'entre vous qui sont engagés dans des requêtes web ont dû rencontrer la situation où leur IP est bloquée par le site web cible, n'est-ce pas ? Dans ce cas, vous avez besoin d'une IP proxy pour sauver la situation. Aujourd'hui, nous allons utiliser la bibliothèque Python Requests pour vous apprendre à configurer clairement l'IP proxy. Faites attention aux points clés, en particulier à la partie de configuration de l'authentification, car de nombreux tutoriels ne disent pas tout.
Configuration de base : mise en place d'un gilet sur les demandes
Commençons par un morceau de code utile et enregistrons le modèle ci-dessous :
demandes d'importation
proxies = {
'http' : 'http://用户名:密码@gateway.ipipgo.com:9021',
'https' : 'http://用户名:密码@gateway.ipipgo.com:9021'
}
response = requests.get('destination URL', proxies=proxies, timeout=10)
Soyez attentifs.Le nom d'utilisateur et le mot de passe doivent être exactement les mêmes que ceux qui vous ont été donnés par le fournisseur de services proxy.Le nom d'utilisateur d'ipipgo se présente généralement sous la forme "code d'entreprise_caractère aléatoire", ne l'inventez pas vous-même. Le port 9021 est le port spécial pour leur proxy résidentiel dynamique, ne l'utilisez pas à tort.
Les cinq pièges de l'échec de la certification
Les nouveaux arrivants sont les plus susceptibles de tomber dans la configuration d'authentification, voici quelques champs de mines courants :
| symptomatique | guérir |
|---|---|
| 407 Erreur d'authentification de l'agent | Vérifier si le nom d'utilisateur et le mot de passe contiennent des symboles spéciaux qui nécessitent un encodage URL. |
| Délai de connexion | Essayez de remplacer http par https, ou modifiez les ports disponibles. |
| Demandes répétées d'accréditation | Ajouter "Proxy-Connection" : "keep-alive" à l'en-tête de la requête |
| Erreur de certificat SSL | Ajout du paramètre verify=False à requests.get() (à utiliser avec précaution) |
| décrochage | Il se peut que l'adresse IP soit bloquée, paramétrez le mécanisme pour changer l'adresse IP automatiquement. |
Conseils pratiques : garder les agents stables comme de vieux chiens
Recommandé pour ipipgoAgents résidentiels dynamiquesL'entreprise dispose d'une fonction unique - le changement automatique d'IP sur demande, qui est facile à configurer :
from requests.auth import HTTPProxyAuth
auth = HTTPProxyAuth('business code', 'dynamic key')
response = requests.get(url, proxies=proxies, auth=auth)
Cette clé dynamique est disponible en temps réel dans le backend d'ipipgo et est beaucoup plus sûre qu'un mot de passe fixe. N'oubliez pas de définirNe pas dépasser le paramètre timeout de plus de 15 secondesSi le site web est lent à répondre, vous devriez abandonner et passer à l'IP suivante.
Temps d'assurance qualité : un must pour les débutants
Q : Que dois-je faire si mon agent tombe soudainement en panne ?
A : d'abord ping gateway.ipipgo.com pour voir si le réseau passe ou non, et ensuite sans test de demande d'authentification, si le retour est 407, c'est que le proxy lui-même n'est pas un problème !
Q : Comment puis-je augmenter la vitesse de la requête ?
R : Changez l'Accept-Encoding dans l'en-tête de la requête en gzip, qui peut compresser les données transmises. La ligne BGP d'ipipgo elle-même a une faible latence, donc ne l'optimisez pas aveuglément.
Q : Que dois-je faire si je rencontre un CAPTCHA sur un site web ?
R : Cela signifie que l'IP actuelle est marquée, changez immédiatement d'IP. Le pool de trafic d'ipipgo a des millions d'IP en réserve, changez les paramètres de la région pour refaire une demande sur la ligne !
Q : La demande de site web HTTPS a échoué ?
R : Changez le protocole du proxy de http à https, ou sur le proxy socks5. Le port socks5 d'ipipgo est 9011, n'oubliez pas de changer la méthode d'authentification.
Mise à niveau : gestion automatisée des agents
Une opération délicate pour les anciens - gérer des proxies avec des objets de session :
session = requests.Session()
session.proxies.update(proxies)
session.auth = HTTPProxyAuth('business code', 'dynamic key')
Toutes les requêtes suivantes sont automatiquement mandatées
response1 = session.get('url1')
response2 = session.post('url2')
Cela permet non seulement de multiplexer les connexions TCP, mais aussi de gérer automatiquement les cookies. avec le logiciel ipipgoforfait de facturation basé sur la quantitéLa réalisation de projets de recherche peut permettre d'économiser beaucoup d'argent.
Enfin, rappelons que le choix du fournisseur de service proxy doit porter sur trois points : la taille du pool d'IP, le support des protocoles d'authentification, la vitesse de réponse. Comme ipipgo, ce proxy supporte tous les protocoles http/https/socks5, mais il dispose également d'un outil client dédié, qui permet d'économiser beaucoup d'argent. Ils ont aussi récemment sorti unFonction de routage intelligentIl peut sélectionner automatiquement le nœud d'accès le plus rapide, vous pouvez donc l'essayer si vous avez besoin d'une forte concurrence.

