
Pratique de Node.js fetch avec proxies
Nous sommes engagés dans le crawler frère comprendre, avec le fetch natif connexion directe au site cible, minutes sera bloqué IP. cette fois, nous devons demander le proxy IP ce sauvetage. Aujourd'hui, nous ne parlons pas de la théorie de ces fausses têtes du cerveau, directement sur la nourriture dure, vous enseigner comment utiliser la dernière version de Node.js vient avec fetch avec proxy.
Pourquoi ai-je besoin d'une IP proxy ?
Pour donner un exemple, votre coursier porte les mêmes vêtements tous les jours pour effectuer ses livraisons, le portier ne s'en souvient pas rapidement ? L'IP proxy est comme une variété de gilets pour le coursier, chaque fois que vous changez de vêtements, le portier ne le reconnaîtra pas. UtilisationipipgoLa réserve dynamique d'adresses IP de la maison équivaut à avoir des centaines de coursiers en attente à tout moment, collectant des données aussi régulièrement qu'un lot.
Trois étapes pour la configuration des agents
import fetch de 'node-fetch' ;
import { HttpProxyAgent } from 'http-proxy-agent' ;
// Remplacez ceci par votre propre canal proxy ipipgo
const proxyUrl = 'http://username:password@gateway.ipipgo.com:9021' ;
const response = await fetch('https://目标网站.com', {
agent : new HttpProxyAgent(proxyUrl)
}).
prendre noteTrois priorités: :
1. l'adresse du proxy doit être dans le bon format, par exemple le nom d'utilisateur et le mot de passe ne doivent pas être écrits dans le mauvais sens
2. les protocoles http et https devraient être clairement différenciés
3. ne pas copier le numéro de port, il dépend du fournisseur de services de donner le numéro de port.
Guide pratique pour éviter la fosse
Vous pouvez ajouter un élément de configuration si vous avez des problèmes avec les certificats :
const response = await fetch(url, {
agent : new HttpProxyAgent(proxyUrl), {
rejectUnauthorized : false // ignore la validation du certificat
}) ;
Cependant, cela n'est pas sûr et il est recommandé que leconsole ipipgoIl suffit de télécharger leur certificat CA et de l'attribuer au système.
Tableau de comparaison des paramètres proxy
| paramètres | valeur de l'exemple | parler avec humanité |
|---|---|---|
| protocoles | http/https | Cela dépend du type d'agent que vous achetez |
| ports | 9021/3128 | Chaque maison est différente. |
| Méthode d'authentification | utilisateur:pass@ip | Ne manquez pas le signe @. |
Foire aux questions QA
Q : Que dois-je faire si je ne peux pas me connecter à l'agent ?
R : Vérifiez d'abord les trois pièces du puzzle : l'adresse, le port et le mot de passe. Utilisez leipipgoL'outil d'inspection en ligne mesure l'état du canal.
Q : Les demandes ralentissent-elles soudainement ?
R : Il se peut que l'adresse IP actuelle soit limitée, ajoutez une logique de commutation automatique de l'adresse IP dans le code ou utilisez l'API de rotation intelligente fournie par leur famille.
Q : Une erreur ECONNRESET s'est produite ?
R : 80% de l'agent est instable, il faut changer un emballage anonyme. Suggérer d'essayeripipgo Entreprisede lignes exclusives, stable comme un vieux chien.
Je vais vous dire ce qui me préoccupe.
Les agents sont bien utilisés et vous rentrez plus tôt du travail. L'essentiel est de choisir le bon prestataire de services, commeipipgoCe type de vue en temps réel du trafic restant, l'utilisation du cœur est solide. La vitesse de réponse de l'assistance technique est également rapide, la dernière fois à deux heures du matin au milieu de la nuit pour mentionner le bon de travail, dix minutes pour résoudre le problème.
Enfin, pour rappeler aux amis débutants, la phase de test doit d'abord acheter un forfait de paiement au volume, ne pas se présenter pour facturer la cotisation annuelle. N'oubliez pas de faire un bon travail de réessai des erreurs dans le code, ne laissez pas une IP se bloquer sur l'ensemble du programme. Si vous ne comprenez pas quelque chose, allez directement sur leur site officiel pour trouver le service clientèle en ligne, signalez mon nom... oubliez ça, signaler mon nom n'est pas à prix réduit (rires).

