
Prácticas con Node fetch para enviar peticiones POST
Recientemente, una gran cantidad de compañeros de recopilación de datos preguntó, usando Node.js para enviar una solicitud al sitio de destino siempre está bloqueado IP ¿cómo hacer? Este asunto es, de hecho, el mismo que jugar el juego fue prohibido número una razón, la solución también es muy simple ---.La gran rotación de IP proxyLo primero que haremos será usar el servicio de ipipgo como ejemplo. Hoy vamos a tomar el servicio de ipipgo como ejemplo y hablaremos de cómo usar Node fetch para enviar peticiones POST sin ser bloqueado.
Preparación del equipo básico
Instala primero una librería node-fetch, no seas estúpido y usa el módulo nativo. La línea de comandos golpea esto:
npm install node-fetch@2 // Tenga en cuenta que las versiones anteriores son más compatibles.
Prepare un servicio proxy fiable, demostrado aquí con el Proxy Residencial Dinámico de ipipgo. Una cosa buena de su casa es queCambio automático de IPNo tienes que mantener tu propio pool de IPs. Después de registrarse y obtener la clave API, la dirección proxy tiene este aspecto:
http://username:password@gateway.ipipgo.com:8080
Desensamblaje de código en el mundo real
Esta es la cuestión. Hay que recordar la postura del agente de concordancia:
const fetch = require('node-fetch');
const HttpsProxyAgent = require('https-proxy-agent');
// valor de asignación de proxy (tenga cuidado de reemplazar su propia cuenta)
const proxyAgent = nuevo HttpsProxyAgent(
'http://你的账号_不带中文:密码@gateway.ipipgo.com:8080'
).
función asíncrona sendPost(url, datos) {
función asíncrona sendPost(url, datos) { try {
const response = await fetch(url, {
method: 'POST', body: JSON.stringify(data), async
headers: {'Content-Type': 'application/json'}, agent: proxyAgent // La clave está en el proxyAgent.
agent: proxyAgent // La clave está en enganchar el proxy aquí.
}); return await response.json()
return await response.json();
} catch (error) {
console.log('Solicitud fallida:', error); }
}
}
// Ejemplo de uso
sendPost('https://api.某某网站.com/login', {
nombre de usuario: 'test',
contraseña: '123456'
});
Cuidado con los baches:
- En la cuenta proxyNo traigas comida china.De lo contrario, la autenticación falla.
- Si el sitio de destino utiliza HTTPS, recuerde hacer coincidir el https-proxy-agent.
- Establecer un tiempo de espera sugiere añadir un setTimeout, para no tener que esperar.
Control de calidad de escenas de vuelco comunes
P: ¿Qué debo hacer si no puedo conectarme al agente?
R: Primero compruebe que el formato de la dirección proxy es correcto, utilice el comando curl para comprobarlo:
curl -x http://账号:密码@gateway.ipipgo.com:8080 https://httpbin.org/ip
Q:Retorno 407 ¿Error de autenticación del agente?
R: En el 99% de los casos, la contraseña de la cuenta es incorrecta o el paquete ha caducado. Vaya a fondo ipipgo para ver el tráfico restante.
P: ¿Cómo consigo el cambio de IP por solicitud?
R: Actívalo en la consola ipipgoConmutador IP a peticiónsin cambiar nada en el código
¿Qué buscar en una agencia?
Hay todo tipo de servicios proxy en el mercado, pero hay que reconocer estos puntos para hacer la recogida de datos:
| funcionalidad | Agentes de sala de servidores | Agente residencial |
|---|---|---|
| Autenticidad IP | ❌ Fácilmente reconocible | ✅ Familia real IP |
| Solicitudes simultáneas | ✅ Multihilo | ⚠️ Restringido |
Como el de ipipgo.Agentes Residenciales DinámicosEs más adecuado para los escenarios de rastreo, aunque el precio es un poco más caro que el agente de la sala de servidores, pero no es fácil de ser prohibido. otra cosa maravillosa acerca de su casa es quePosicionamiento preciso en la regiónPor ejemplo, si quieres recoger datos meteorológicos de un lugar determinado, puedes bloquear directamente la IP de salida de la ciudad correspondiente.
Consejos para ahorrar tráfico
Por último, me gustaría compartir un gran consejo para ahorrar dinero: los paquetes de tráfico de ipipgo utilizan la tecnologíafacturación por tiempoEl modelo es más rentable que la suscripción mensual, especialmente adecuado para la fase inicial de prueba del proyecto. Cuando el negocio es estable, a continuación, cortar el paquete mensual, por lo que no es fácil de gastar dinero.
Si estás en un apuro, puedes frotarlos antes.paquete de prueba(Los nuevos usuarios obtienen 1G de tráfico). Sin embargo, tenga cuidado de no utilizar para participar en el rastreo violento, el paquete de prueba de la calidad IP será más pobre, el trabajo oficial también tienen que pagar en la versión.

