Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: dimineko en 1 Agosto 2019, 01:09 am



Título: [PYTHON] Request.get() no funciona con proxies.
Publicado por: dimineko 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.