elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [PYTHON] Request.get() no funciona con proxies.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [PYTHON] Request.get() no funciona con proxies.  (Leído 2,174 veces)
dimineko

Desconectado Desconectado

Mensajes: 32


Ver Perfil
[PYTHON] Request.get() no funciona con proxies.
« en: 1 Agosto 2019, 01:09 am »

Hola!
He hecho un "proxy scrapper" que funciona.Solo hace eso,los "saca" y los guarda en un TXT.
Sin embargo al comprobar su calidad vi que son una -*%/!)0 ...En fin, que decidí hacer un checker.
El caso es que va todo bien hasta que llega el momento de hacer la petición a la página.Si no le pongo proxie, me devuelve siempre mi IP(como debe ser) por lo que el script está bien.
Sin embargo al poner Proxies, da error.
Aquí el código.
NOTA 1: El fichero proxygen.txt contiene proxies en formato ip:puerto. Un proxie por línea.
NOTA 2: El error esta en la linea 13 porque si quitas "proxies=proxies" el programa funciona(devolviendote tu IP en vez del proxy). El problema es que no se como solucionarlo.
NOTA 3:No pongo el error porque es larguisimo y se refiere más bien poco a este script. Todo hace referencia a "C:\Program Files (x86)\Python37-32\lib\site-packages\requests\" y otros ficheros de allí.
Código
  1. def check():
  2.    count = 0
  3.    os.system("cls")
  4.    fichero = open("proxygen.txt","r+")
  5.    for ip_port in fichero:
  6.     todo = ip_port.split(":")
  7.     ip = todo[0]
  8.     port = todo[1]
  9.     line = 'http://' + ip + ':' + port
  10.     proxies = {'http': line,'https': line}
  11.     try:
  12.     testIP = requests.get('https://httpbin.org/ip',proxies=proxies,timeout = 3)
  13.     resIP = testIP.json()["origin"]
  14.     origin = resIP.split(",")
  15.     if origin[0] == ip:
  16.     print(f"Proxy {origin[0]}        OK")
  17.     proxyList.append(line)
  18.     else:
  19.     print (f"Proxy {origin[0]} error")
  20.  
  21.  
  22.  
  23.     except:
  24.     print (f"proxy {origin[0]} error")
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32. check()
  33.  

Muchas gracias de antemano a quien me ayude.
Un saludo.


« Última modificación: 1 Agosto 2019, 01:12 am por dimineko » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines