
Le rôle caché des en-têtes dans les requêtes
De nombreux partenaires qui utilisent curl pour capturer des données ont toujours été confrontés au problème du blindage du site. En ce moment, en plus de changer l'ip du proxyParamètres de l'en-tête de la demandeC'est la véritable clé pour casser le jeu. Par exemple, certains sites web vérifient si votre User-Agent est un navigateur ou non, et si vous utilisez l'en-tête curl par défaut, il sera reconnu comme une requête machine en quelques minutes.
curl -x http://user:pass@proxy.ipipgo.cn:8080
-H "User-Agent : Mozilla/5.0 (Windows NT 10.0)..."
-H "Accept-Language : zh-CN"
https://目标网站.com
Il est important de noter ici que l'adresse du proxy dans le fichieruser:passPour passer à vos propres informations d'authentification générées dans le backend d'ipipgo. Leurs serveurs proxy prennent en charge plusieurs méthodes d'authentification, ce qui est particulièrement intéressant pour les utilisateurs qui ont besoin d'opérer en masse.
Triple protection déguisée en personne réelle
Il ne suffit pas de changer l'User-Agent, il faut aussi se déguiser. Nous vous présentons ici les trois changements obligatoires :
| en-tête (informatique) | valeur recommandée | Description du rôle |
|---|---|---|
| Accept-Encoding | gzip, deflate | Imiter la compression du navigateur |
| Référent | Adresse du site web d'homologation | Créer l'illusion de visiter des sources |
| Connexion | maintenir en vie | Le maintien de longues connexions réduit les fonctionnalités |
N'oubliez pas que chaque demande doit êtreIntervalle aléatoire 1-3 secondesLe proxy pool avec ipipgo peut automatiquement changer l'ip de sortie, donc avec des informations d'en-tête dynamiques, l'effet d'anti-blocage tire directement à plein.
Des problèmes sur le terrain
Essayez cette combinaison lorsque vous rencontrez un site particulièrement difficile :
curl -x http://动态认证.rotating.ipipgo.net:9021
-H "Cookie : copy real cookie from browser"
-H "X-Forwarded-For : random public IP"
--connect-timeout 10
https://反爬严格的网站
Il y a ici deux points essentiels :
1. ipipgo'sagent d'authentification dynamiquePlus besoin de composer vos propres mots de passe.
2. X-Forwarded-For doit être rempli avec l'adresse du réseau public dans la même région que l'ip du proxy.
Scène de renversement courante AQ
Q : Que dois-je faire si je suis toujours reconnu alors que j'ai défini toutes les informations d'en-tête ?
R : Commencez par découvrir l'offre d'ipipgo !Outils de détectionRegardez l'en-tête de la requête réelle, certains sites exigent un paramètre d'en-tête spécifique.
Q : L'adresse IP du proxy se connecte souvent au délai d'attente ?
R : Si le paramètre -connect-timeout est fixé à plus de 15 secondes, il est recommandé d'utiliser la fonctionLignes d'entrepriseLeurs lignes BGP ont un taux de réussite de 99,2%.
Q : Comment puis-je le casser si je dois m'occuper de cookies ?
R : Spécifiez le fichier de cookies avec le paramètre -b de curl, et assurez-vous en même temps que chaque requête utilise la même IP de proxy, l'adressefonction de maintien de la sessionC'est exactement ce qu'il faut pour le réparer.
Pourquoi ipipgo ?
Après avoir testé une douzaine de fournisseurs, j'ai finalement opté pour ipipgo pour seulement trois points :
1. salle de serveurs construite par l'entreprise elle-même, contrairement à ceux qui utilisent des IP d'occasion à l'étranger
2. soutienPersonnalisation du message d'en-têteCanal Proxy, cette fonctionnalité n'est pas disponible ailleurs.
3. le service clientèle peut répondre aux demandes de travail en quelques secondes ; la dernière fois que j'ai eu un problème de débogage de scripts au milieu de la nuit, il a été résolu en 5 minutes.
Enfin, pour donner un modèle de configuration ultime, les paramètres suivants sont sauvegardés dans un fichier de configuration, lorsqu'ils sont utilisés directement :
Enregistrer sous curl_config.txt
user-agent = "Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64) AppleWebKit/537.36..."
referer = "https://www.google.com/"
proxy = "http://auto:动态密钥@gateway.ipipgo.com:8899"
Il suffit d'ajouter le paramètre -K à l'appel :
curl -K curl_config.txt URL de destination

