From d15f5b4eb6e9207a66ca431b121bf19f80c997da Mon Sep 17 00:00:00 2001 From: Manuel Vergara Date: Wed, 17 Jan 2024 19:25:30 +0100 Subject: [PATCH] Add libraries exercises --- python-ofensivo/08_librerias/04_urllib3_01.py | 35 +++++++++++++++++++ python-ofensivo/08_librerias/04_urllib3_02.py | 19 ++++++++++ 2 files changed, 54 insertions(+) create mode 100644 python-ofensivo/08_librerias/04_urllib3_01.py create mode 100644 python-ofensivo/08_librerias/04_urllib3_02.py diff --git a/python-ofensivo/08_librerias/04_urllib3_01.py b/python-ofensivo/08_librerias/04_urllib3_01.py new file mode 100644 index 0000000..50fe57f --- /dev/null +++ b/python-ofensivo/08_librerias/04_urllib3_01.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 +""" +urllin3 es la base de requests, a más bajo nivel es más compleja de usar. + +# https://httpbin.org/get + +Para enviar a POST: +- Datos en bruto: body='...' +- Datos en form: fields={'key': 'value'} +- Datos en JSON: body=json.dumps({'key': 'value'}) + +""" + +import urllib3 +import json + +http = urllib3.PoolManager() # Controlador de conexiones + +data = "Esto es una prueba" +encoded_data = data.encode() # Convertir a bytes + +dict_data = {'foo': 'bar'} +encoded_dict_data = json.dumps(dict_data).encode() + +r = http.request( + 'POST', + 'https://httpbin.org/post', + # body=encoded_data + body=encoded_dict_data, + headers={'Content-Type': 'application/json'} +) + +print(r.data.decode()) + + diff --git a/python-ofensivo/08_librerias/04_urllib3_02.py b/python-ofensivo/08_librerias/04_urllib3_02.py new file mode 100644 index 0000000..9be276f --- /dev/null +++ b/python-ofensivo/08_librerias/04_urllib3_02.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 +""" +urllin3 + +Deshabilitar advertencias de certificado SSL + +""" + +import urllib3 + +urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) +http = urllib3.PoolManager(cert_reqs='CERT_NONE') # Controlador de conexiones + +r = http.request( + 'GET', + 'https://157.240.254.12/', +) + +print(r.data.decode())