Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: SDCC en 12 Noviembre 2019, 23:09 pm



Título: HTTP en Python
Publicado por: SDCC en 12 Noviembre 2019, 23:09 pm
Buenas a todos. Estoy haciendo una aplicación de comunicación remota con sockets y desearia usar el protocolo HTTP para el formato de mis mensajes, el problema es que me gustaria crear un objecto REQUEST y RESPONSE que me ayuden con el agrupamiento de los datos y finalmente que permitan convertir todos los atributos de dicho objeto en su representación cruda, es decir, en una representacion de texto plano.

He visto los objetos RESPONSE y REQUEST del modulo requests de python y al menos he observado que el objeto REQUEST lo podría utilizar para este proposito pero con la única desventaja de que no he encontrado un metodo que me haga la conversion del objeto a su representación de str con formato de petición HTTP.

¿ Alguien sabe donde se encuentra dicho método ? o conoce algun modulo que me presente una abstracción de dichos objetos con lo que requiero.

Divagando un poquito mas sobre el tema...  ¿ El modulo Request debe estar obligado a tener algun sinonimo de dicha función ?. Yo intuyo que dicha funcion debe estar en alguna parte del modulo requests debido a que no habria otra forma de comunicar un REQUEST o un RESPONSE debido a ese modulo no exige a que del otro lado de la comunicación exista un programa usando el mismo modulo en python(caso en el que se podria hacer una serializacion del objeto). ¿ Estoy equivocado o hay algo que estoy ignorado ?

Nota. En ultimo caso sé que podría crear una nueva clase que herede de REQUEST y agregar lo que requiero.


Título: Re: HTTP en Python
Publicado por: retr02332 en 29 Noviembre 2019, 21:38 pm
La verdad mi conocimiento solo da para responderte la primera.

Cuando instancias un objeto(response) de la clase requests( requests.get(url) ), automaticamente tienes derecho a unos atributos muy utiles.

El primero es .status_code, este se encarga de ver el codigo de estado de la peticion.

El segundo es .content, este tiene los datos de la peticion en bytes

Y tercero, es el que tu necesitas y/o quieres, que vendria siendo .text, este te da los datos de la consulta en utf-8, te los da en texto plano.

Espero haberte ayudado, mucha suerte.