如何解析表单提交的 http html post 数据
How do I parse http html post data submitted by a form
所以我有一个如下所示的 html 表格:
<form action='/Login/Process' method='post'>
Username:<br>
<input type="text" name="Username">
<br>
Password:<br>
<input type="password" name="Password"><br>
Keep me logged in:<br>
<input type="text" name="KeepSessionAlive"><br>
<input type="submit" value="Submit">
</form>
我希望Python接收数据(该部分已完成)然后将其处理成字典以备将来使用。我曾尝试使用下面的代码,但它不适用于两个以上的 post 字段,即使那样它也有点参差不齐。
import re
import Vars
def RECV_Post():
Vars.RECV_Post=dict(re.findall(r"(?P<name>.*?)=(?P<value>.*?)&", Vars.RECV_Data))
Vars.RECV_Post.update(re.findall(r"&(?P<name>.*?)=(?P<value>.*)&", Vars.RECV_Data))
Vars.RECV_Post.update(re.findall(r"&(?P<name>.*?)=(?P<value>.*)", Vars.RECV_Data))
如果这就是您要做的全部,那么原始 CGI 就足够简单了。
import cgi
DATA = cgi.FieldStorage()
d = {}
for attr in DATA.keys():
key = str(attr)
value = DATA['key'].value
d[key] = value
所以我有一个如下所示的 html 表格:
<form action='/Login/Process' method='post'>
Username:<br>
<input type="text" name="Username">
<br>
Password:<br>
<input type="password" name="Password"><br>
Keep me logged in:<br>
<input type="text" name="KeepSessionAlive"><br>
<input type="submit" value="Submit">
</form>
我希望Python接收数据(该部分已完成)然后将其处理成字典以备将来使用。我曾尝试使用下面的代码,但它不适用于两个以上的 post 字段,即使那样它也有点参差不齐。
import re
import Vars
def RECV_Post():
Vars.RECV_Post=dict(re.findall(r"(?P<name>.*?)=(?P<value>.*?)&", Vars.RECV_Data))
Vars.RECV_Post.update(re.findall(r"&(?P<name>.*?)=(?P<value>.*)&", Vars.RECV_Data))
Vars.RECV_Post.update(re.findall(r"&(?P<name>.*?)=(?P<value>.*)", Vars.RECV_Data))
如果这就是您要做的全部,那么原始 CGI 就足够简单了。
import cgi
DATA = cgi.FieldStorage()
d = {}
for attr in DATA.keys():
key = str(attr)
value = DATA['key'].value
d[key] = value