
Apprendre à ajouter des en-têtes de requête lors de l'utilisation de cURL pour accrocher des proxys.
Les crawlers doivent comprendre que certains sites doivent savoir, que certains sites spéciaux vont bien, que le proxy léger ne suffit pas, qu'il faut faire quelque chose dans l'en-tête de la requête pour s'en sortir. Aujourd'hui, nous allons utiliser cURL, cet outil magique, et dire comment personnaliser l'en-tête de requête dans la demande de proxy.
Configuration de base du proxy
Tout d'abord, l'ensemble des paramètres de proxy les plus simples, prenez notre proxy ipipgo comme un marronnier :
curl -x http://user:pass@proxy.ipipgo.com:8000 https://target-site.com
Soyez attentifs.Paramètre -xSuivi du format, ne vous trompez pas de deux-points. Si vous utilisez un proxy socks5, remplacez http par socks5, et le numéro de port dépend des informations données dans le paquet spécifique.
Demande de conseils pratiques pour le camouflage de l'en-tête
Certains sites web vérifient les paramètres User-Agent, nous devons donc agir comme un navigateur normal. Essayez cette configuration :
curl -x http://proxy.ipipgo.com:8000
-H "User-Agent : Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64) AppleWebKit/537.36"
-H "Accept-Language : zh-CN,zh;q=0.9"
https://target-site.com
se concentrer sur-Paramètre Hqui peuvent être empilés indéfiniment. J'ai généralement l'habitude de sauvegarder les informations d'en-tête courantes dans un fichier de configuration et de l'appeler avec le paramètre -config, ce qui m'évite d'avoir à le faire à la main à chaque fois.
N'insérez pas d'informations d'authentification dans le code.
Une erreur courante commise par les débutants est d'écrire les mots de passe des comptes directement sur la ligne de commande, ce qui est à la fois peu sûr et difficile à maintenir. Il est recommandé d'utiliser la gestion des fichiers .netrc :
Créer un fichier .netrc dans le répertoire de l'utilisateur
machine proxy.ipipgo.com
login Votre compte
password Votre mot de passe
Ajoutez ensuite un paramètre -netrc lors de l'exécution et le tour est joué, le code est beaucoup plus propre :
curl --netrc -x http://proxy.ipipgo.com:8000 ...
Nous devrons prévoir une nouvelle tentative après le délai d'attente.
Si vous utilisez un proxy, vous serez inévitablement confronté à des fluctuations du réseau, et ces paramètres peuvent vous sauver la vie à des moments critiques :
--connect-timeout 30 Délai de connexion de 30 secondes
---max-time 120 Délai d'attente global de 2 minutes
--retry 3 Défaut de réessayer automatiquement 3 fois
Guide pratique de l'AQ dans les stands
Q:La configuration du proxy est réussie mais le site web renvoie toujours 403 ?
R : Il est probable que l'en-tête de la requête soit exposé, essayez d'ajouter l'en-tête Referer et Cookie, et utilisez le paramètre -verbose pour voir le processus complet de la requête.
Q : Les requêtes HTTPS signalent toujours des erreurs de certificat ?
R : Ajoutez -proxy-insecure à la fin de la commande, ou indiquez le chemin du certificat avec -proxy-cacert.
Q : Comment tester le pool d'agents par lots ?
R : Inscrivez l'adresse du proxy dans le fichier txt, interrogez les appels avec le paramètre -K, n'oubliez pas de faire correspondre le plugin d'en-tête de requête aléatoire.
Pourquoi recommander les proxies ipipgo
Le service d'agence utilisé à votre domicile, pour ne citer que quelques avantages réels :
| Type d'emballage | Scénarios applicables | Avantage tarifaire |
|---|---|---|
| Dynamique résidentielle (standard) | Collecte quotidienne de données | 7,67/GB/mois |
| Dynamic Residential (Entreprise) | Exigences en matière de visites fréquentes | 9,47 RMB/GB/mois |
| Maisons statiques | Opérations fixes à long terme | 35/IP/mois |
Un éloge particulier pour leurLigne TKL'extraction de l'API est également pratique, directement curl leur interface peut obtenir un proxy frais, vous évitant de maintenir le pool d'IP.
Enfin, j'aimerais souligner qu'il faut essayer de plus en plus de configurer le proxy. Ne vous empressez pas de changer de proxy lorsque vous rencontrez des problèmes étranges, utilisez d'abord -trace-ascii pour sauvegarder les logs de requêtes et analysez-les, très souvent les paramètres ne sont pas corrects. Si vous avez des questions spécifiques, n'hésitez pas à nous taquiner, nous ne parlons pas de choses fausses.

