Python 3.x 如何使用python3将http请求转换为json、dict或某种形式的数据

Python 3.x 如何使用python3将http请求转换为json、dict或某种形式的数据,python-3.x,http,Python 3.x,Http,如何转换: GET / HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-En

如何转换:

GET / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
差不多

\u dict={
“请求”:“/”,
“主机”:“本地主机”,
“用户代理”:“Mozilla/5.0(X11;Ubuntu;Linux x86_64;rv:76.0)Gecko/20100101 Firefox/76.0”,
“接受”:“text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8”,
“接受语言”:“en-US,en;q=0.5”,
“接受编码”:“gzip,deflate”,
“连接”:“保持活动状态”,
“升级不安全请求”:1,
“获取”:“,
“发布”:“}
如何使用python 3实现这一点。
我不想只是向一个网站提出请求,我想将此文本转换为字典。

查看以下链接。这是另一个Stackoverflow post,它应该可以帮助您:D


您可以使用请求模块

import requests

r = requests.get("https://www.google.com")
print(r.headers) # returns all the headers in dictionary form
**编辑**

因此,因为他想从他创建的服务器中吐出字符串请求。
下面是新代码:

request = """GET / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1""".split('\n')

reqs = {}

for x in request:
    if "GET" in x:
        method, path, http = x.split(" ")
        reqs["REQUESTS"] = path
    else:
        key, val = x.split(": ")
        reqs[key] = val

注意

您可以为http方法创建一个列表(这样它不仅在GET上有效),还可以创建一个“for in”范围来检查该http方法是否在请求中

我不想发出请求。我想将请求转换为dict您不想发出请求,但想将请求转换为dict?什么?我正在创建一个Web服务器,我需要处理浏览器请求,因此我需要将请求转换为字典,以便使用数据。如何从url获取数据,如/?data=ps&data1=ps1
request = """GET / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1""".split('\n')

reqs = {}

for x in request:
    if "GET" in x:
        method, path, http = x.split(" ")
        reqs["REQUESTS"] = path
    else:
        key, val = x.split(": ")
        reqs[key] = val