No soy muy diestro en estas cosas. He conseguido este ejemplo.
Podrè hacer pegar mi webserver (localhost) con esto????
ADJUNTO EL EJEMPLO.
----- Mensaje original -----
De: "Nekmo" <[email protected]>
Para: "La lista de python en castellano" <[email protected]>
Enviados: Sábado, 23 de Julio 2011 8:42:42
Asunto: Re: [Python-es] Cliente HTTP para pruebas de red
Puede hacerlo de forma sencilla con urllib, y te recomiendo usar threads.
Saludos.
Un cordial saludo:
-- Nekmo.
Sitio web: http://nekmo.com
Dirección de contacto: [email protected]
XMPP/Jabber: [email protected]
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo
Google+: Nekmo Com
El día 23 de julio de 2011 07:23, Allan N. Porras
<[email protected]> escribió:
> Me han dicho que para "pegar" o "tostar" un web server es enviandole muchos
> POST. ¿Como puedo hacer eso en Python?
>
> Necesito "pegar" un web server (Apache o cualquiera) y medir el desempeño del
> sistema operativo.
>
> Gracias a todos por las ideas.
>
> ----- Mensaje original -----
> De: "lasizoillo" <[email protected]>
> Para: "La lista de python en castellano" <[email protected]>
> Enviados: Sábado, 16 de Julio 2011 5:39:42
> Asunto: Re: [Python-es] Cliente HTTP para pruebas de red
>
> El día 16 de julio de 2011 06:24, Allan N. Porras
> <[email protected]> escribió:
>> He estado leyendo estas bibliotecas, pero no tengo idea de còmo funciona.
>>
>> http://code.google.com/p/httplib2/wiki/Examples
>>
>> Ideas??
>>
>
> Si, mira, esta todo explicado en el siguiente enlace:
> http://www.w3.org/Protocols/rfc2616/rfc2616.txt
>
> Una vez mirado eso podrás entender cómo funciona httplib2 o incluso
> hacerte tu propia librería a base de sockets.
>
> Para entender como hacer pruebas para "tostar" un servidor web antes
> tendrás que saber como está (o puede estar) implementado el server. A
> veces la mejor forma de dejarlo ko no es enviar muchas peticiones muy
> rápidas:
> http://en.wikipedia.org/wiki/Slowloris
>
> Si sabes como funcionan los buffers tcp, el manejador de eventos de
> red, que partes se tratan en modo kernel o en modo usuario, la
> implementación de la multitarea (procesos, hilos, eventos), ... es más
> fácil hacer algo para "tostar" el sistema.
>
> Saludos:
>
> Javi
> _______________________________________________
> Python-es mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
> _______________________________________________
> Python-es mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
# File: httplib-example-1.py
import httplib
USER_AGENT = "httplibx.py"
class Error:
# indicates an HTTP error
def __init__(self, url, errcode, errmsg, headers):
self.url = url
self.errcode = errcode
self.errmsg = errmsg
self.headers = headers
def __repr__(self):
return (
"<Error for %s: %s %s>" %
(self.url, self.errcode, self.errmsg)
)
class Server:
def __init__(self, host):
self.host = host
def fetch(self, path):
http = httplib.HTTP(self.host)
# write header
http.putrequest("GET", path)
http.putheader("User-Agent", USER_AGENT)
http.putheader("Host", self.host)
http.putheader("Accept", "*/*")
http.endheaders()
# get response
errcode, errmsg, headers = http.getreply()
if errcode != 200:
raise Error(errcode, errmsg, headers)
file = http.getfile()
return file.read()
if __name__ == "__main__":
server = Server("localhost")
# while 1>0:
print server.fetch("/index.html")
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/