
Utilisation de la bibliothèque de requêtes Node.js pour accrocher un proxy IP
Les frères devraient comprendre la demande de réseau, parfois directement avec leur propre IP pour envoyer une demande est comme nu courir en ligne, quelques minutes par le site cible pour tirer noir. Cette fois, nous devons utiliser un proxy IP pour couvrir, aujourd'hui nous prenons Node.js dans les deux bibliothèques de demande les plus couramment utilisées (axios et node-fetch) pour donner un marron, vous apprendre à monter sur la voiture en toute sécurité.
Choisir le bon prestataire de services d'agence, c'est la moitié du chemin à parcourir
Il existe de nombreux fournisseurs de services proxy IP sur le marché, mais peu d'entre eux sont fiables. Ici, vous devez être disposé àipipgoLe service de la famille, sa famille a trois axes particulièrement impressionnants :
1. le pool d'IP est suffisamment large (plus de 200 régions au choix)
2. le temps de survie est aussi stable qu'un vieux chien (taux de disponibilité moyen de 98%)
3. le prix est plus abordable que le thé au lait (le paquet de John blanc des nouveaux utilisateurs est vraiment parfumé)
Après l'enregistrement, n'oubliez pas de noter l'adresse de l'API et la clé d'authentification en arrière-plan, qui seront utilisées pour la configuration ultérieure.
Configuration en direct d'Axios
D'abord le code de configuration d'axios, notez la section des commentaires :
const axios = require('axios') ;
const proxy = {
host : 'gateway.ipipgo.com', // adresse du serveur proxy
port : 9021, // le numéro de port donné par le fournisseur de service
auth : {
username : 'Votre numéro de compte', // the password : 'La clé API', // le mot de passe donné par le fournisseur de service.
password : 'API key'
}
} ;
// Créer l'instance avec le proxy
const client = axios.create({
timeout : 5000
timeout : 5000
}) ;
// N'oubliez pas d'ajouter la capture d'erreur lors de l'envoi de la requête
client.get('https://目标网站.com')
.then(res => console.log('Succès!'))
.catch(err => console.error('Rollovered:', err.message)); ;
Il y a un piège à éviter : si le site cible est HTTPS, vous devez ajouter ce qui suit à la configuration du proxyprotocole : "httpsCe paramètre.
Jeu alternatif de type Node-fetch
Pour ceux qui utilisent node-fetch, regardez ici, vous devez d'abord installer un middleware proxy :
npm install https-proxy-agent --save
Passons ensuite au code des biens durables :
const fetch = require('node-fetch') ;
const HttpsProxyAgent = require('https-proxy-agent') ;
const agent = new HttpsProxyAgent({
host : 'gateway.ipipgo.com',
port : 9021, auth : 'account:https-proxy-agent' ; const
auth : 'account:API key'
}) ;
fetch('https://目标网站.com', { agent })
.then(res => res.text())
.then(data => console.log(data))
.catch(err => console.log('Something went wrong:', err)) ;
Scène de renversement courante AQ
Q:Que dois-je faire si mon IP proxy ne fonctionne pas lorsque je l'utilise ?
R : Dans cette situation, quatre-vingt pour cent de l'IP était celle du site cible, il est recommandé d'utiliser l'outil ipipgo.Fonction de rotation automatique de l'IPIl suffit d'ajouter un paramètre X-Rotate-IP à l'en-tête de la requête.
Q : Comment puis-je savoir si une procuration est en vigueur ?
R : Vous pouvez d'abord demander http://ip.ipipgo.com/checkip这个接口 pour voir si l'adresse IP renvoyée est une adresse IP proxy.
Q : Que se passe-t-il si je dois traiter plusieurs demandes en même temps ?
A : recommandé par ipipgoPaquet ConcurrenceSi vous disposez d'un canal IP différent pour chaque requête, n'oubliez pas de bien gérer la mise en commun des connexions dans votre code.
Conseils contre l'interdiction
Enfin, je vous enverrai quelques conseils pour vous sauver la vie :
1. changer aléatoirement de User-Agent (ne pas toujours utiliser un gilet)
2. contrôler la fréquence des demandes (ne pas éclater comme une mitrailleuse)
3. les activités importantes sur l'IP exclusive (bien que coûteuse, elle est stable comme un chien)
4. nettoyer régulièrement le cache DNS local (anti-pollution DNS)
Grâce à la fonction de routage intelligent d'ipipgo, ces opérations sordides peuvent en principe aller de travers. Lorsque vous rencontrez un problème difficile, vous pouvez directement contacter son service clientèle technique, et la vitesse de réponse est plus rapide que celle d'un livreur.

