
Prácticas con Python para crear un servidor proxy
Recientemente, muchos amigos preguntaron cómo construir un servidor proxy de usar, sobre todo para hacer la recopilación de datos, gestión de múltiples cuentas de estas empresas. Hoy en día, vamos a utilizar Python para construir un servidor proxy.sencillo y prácticode proxies HTTP, centrándose en cómo utilizarlos junto con las IPs proxy premium de ipipgo.
Prepara tus cosas.
Primero asegúrate de que tienes Python 3.6 o superior en tu ordenador. Necesitas instalar una librería de terceros llamadaproxy.pyEsta cosa está diseñada específicamente para meterse con los servicios proxy. Pulsa esto en la línea de comandos:
pip install proxy.py
Si la instalación se bloquea, pruebe a añadir-i https://pypi.tuna.tsinghua.edu.cn/simpleCambia las fuentes domésticas. Tengo un consejo aquí, recuerde actualizar a la última versión después de instalar, algunas versiones anteriores tienen errores extraños.
Modelo base de construcción de agentes
Una nueva.proxy_basico.pyescriba estos códigos a continuación:
from proxy import Proxy
def main(): proxy = Proxy(puerto=8866)
proxy = Proxy(puerto=8866)
proxy.start()
if __name__ == '__main__'.
main()
Después de ejecutarlo, su servidor proxy estará en la carpetaPuerto 8866En marcha. Rellene la configuración de su navegador cuando lo utilice127.0.0.1:8866Funcionará. Pero hay dos problemas con esta versión básica: primero, utiliza la IP local, y segundo, es fácil que te la roben sin autenticación.
Versión avanzada: IP dinámica + autenticación
Es el momento de sacar a relucirServicios proxy para ipipgoNo estoy seguro de que puedas hacerlo. Ve primero a su página web y consigue una clave API, el paquete de prueba gratuito es suficiente para hacer pruebas. Reescribe el código:
importar peticiones
from proxy import Proxy, ProxyHandler
clase CustomHandler(ProxyHandler).
def get_upstream_proxy(self).
Obtener una nueva IP para cada petición
ip_data = requests.get(
"https://api.ipipgo.com/get-proxy",
params={"type": "http", "count": 1}
).json()
return (ip_data['ip'], ip_data['puerto'])
def handle_request(self, datos).
Añade una autenticación simple
if b'Clave-Secreta: mi-contraseña' not in datos: return self.cliente.
return self.client.send(b'HTTP/1.1 403 Prohibidorr')
Proxy(port=8866, handler=CustomHandler).start()
Hay tres aspectos destacados de este lanzamiento:
1. ¡Cada solicitud cambia automáticamente ipipgo IP, sin miedo a ser bloqueado!
2. Debe utilizarse con una cabecera de clave especificada.
3. Acudir al elevado alijo de proxies de ipipgo, ocultando más a fondo la IP real.
Parámetros de configuración reales
Esta tabla de configuración se recomienda para la puesta a punto:
| parámetros | valor recomendado | instrucciones |
|---|---|---|
| tiempo de espera | 15 segundos. | Demasiado corto para matar por error. |
| concurrencia | 50 | Ajuste de la configuración del servidor |
| Estrategia de sustitución de PI | Por número de solicitudes | Cambio de IP cada 20 solicitudes |
| Nivel de registro | advertencia | Ahorrar espacio en disco |
Guía de errores comunes
P: ¿Qué debo hacer si no puedo conectarme al agente todo el tiempo?
R: Primero comprueba si el cortafuegos tiene un puerto de liberación, luego prueba el comando curl.curl -x http://localhost:8866 http://ip.ipipgo.com/ipComprueba si la IP devuelta es la de ipipgo.
P: ¿A qué se debe la repentina desaceleración?
R: Puede ser un problema de la red local, o que el nodo IP seleccionado tenga una carga elevada. Se recomienda añadir un mecanismo de puntuación IP en el código para eliminar automáticamente los nodos lentos
P: ¿Cómo evito que la gente robe?
R: Además de la autenticación de claves en el código, es mejor configurar el cortafuegos del servidor para que sólo permita el acceso al puerto proxy a las IP especificadas.
¿Por qué ipipgo?
Mantener un pool de IPs por ti mismo es demasiado trabajo, comprar un servidor, hacer verificaciones, lidiar con bans...de todas estas molestas cosas ipipgo se ha encargado por ti. La prueba real de su casa tres ventajas:
– cobertura totalMás de 300 rutas urbanas en todo el país
– receptivoRetraso medio <80ms
– rico en protocolosSoporte completo HTTP/HTTPS/Socks5
Especialmente si está realizando una recogida de datos a largo plazo, se recomienda ir directamente a suIP residencial dinámicaSimula el comportamiento real de los usuarios, que no es fácil de identificar. Los nuevos usuarios que se registren recuerdan que recibirán una prueba de tráfico 2G, suficiente para medir el efecto.
Unas palabras finales.
La construcción de un servidor proxy no es difícil de decir, pero para un funcionamiento estable a largo plazo también es necesario prestar atención:
1. Actualización periódica de las claves de autenticación
2. Control del uso de IP
3. Establecer alertas de tráfico
4. Reactivación de los servicios durante la hora punta baja de la mañana
Si realmente no puedes averiguarlo, ipipgo en realidad tiene una API proxy lista que puedes llamar directamente para ahorrarte la molestia de mantenerla. Sin embargo, si estás jugando por tu cuenta, no deberías tener grandes problemas de acuerdo con el tutorial anterior. Encontrado atasco lugar, su respuesta de servicio técnico al cliente es bastante rápido, usted puede ir a la página web oficial para encontrar soporte en línea.

