Jan-11-2023, 12:07 AM
Simulating a direct http request in the browser address bar for the module (wsgiref), with the following url:
( OvO ) - Http Request :
Why do I get the string with encoded characters ( %27, %27%3A%27, %27%3A1 ) and how can I decode it to the original string of the http request?
( OvO ) - Http Request :
http://127.0.0.1:8000/'session':'meLNaJb6kdYDjOHRzBdQzAjRArmpEi2r3PWVy0ujUZ4','user':1( OvO ) - Code Python, module wsgiref :
from wsgiref.simple_server import make_server
# Native Module : wsgiref.static -> ( https://docs.python.org/3/library/wsgiref.html#module-wsgiref.util )
from wsgiref.util import request_uri
# Native Module : urlparse -> ( https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse )
from urllib.parse import urlparse
def wsgirun(environ, start_response):
# Syntax Objective : Get request uri
g_uri = request_uri( environ, include_query=True )
# Syntax Objective : Prepare to handle uri
h_uri = urlparse( g_uri )
# Syntax Objective : Get path request
g_path = h_uri.path
# Syntax Objective : Assign within an array
a_path = g_path.split('/')[1]
status = "200 OK"
headers = [("Content-type", "text/plain; charset=utf-8")]
start_response(status, headers)
return[str(a_path).encode('utf-8')]
with make_server("", 8000, wsgirun) as httpd:
print(
'Running : Test Code\n'
'Browser Access - http://127.0.0.1:8000\n'
'Crl+c for pause command or Crl+z for stop'
)
# Serve until process is killed
httpd.serve_forever()( OvO ) - Http Response, output :%27session%27%3A%27meLNaJb6kdYDjOHRzBdQzAjRArmpEi2r3PWVy0ujUZ4%27,%27user%27%3A1( OvO ) - Question :
Why do I get the string with encoded characters ( %27, %27%3A%27, %27%3A1 ) and how can I decode it to the original string of the http request?
