在Python中通过POST请求获取HTML表单数据
我有以下的HTML代码。它创建了一个表单,当我点击提交时,会向服务器发送一个POST请求。
<html>
<body bgcolor = black text= white>
<FORM method="post" action="/processData.py">
<P>
<LABEL for="firstname">First name: </LABEL>
<INPUT type="text" id="firstname"><BR>
<LABEL for="lastname">Last name: </LABEL>
<INPUT type="text" id="lastname"><BR>
<LABEL for="email">email: </LABEL>
<INPUT type="text" id="email"><BR>
<INPUT type="radio" name="sex" value="Male"> Male<BR>
<INPUT type="radio" name="sex" value="Female"> Female<BR>
<INPUT type="submit" value="Send"> <INPUT type="reset">
</P>
</FORM>
</body>
</html>
当我点击提交时,我的网页服务器收到了一个POST的HTTP请求。但是,我只收到了单选按钮的值,而不是所有字段的值。这里是我收到的请求头:
POST /Test.html HTTP/1.1
Host: 127.0.0.1:22222
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8) AppleWebKit/536.25 (KHTML, like Gecko) Version/6.0 Safari/536.25
Content-Length: 10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*//*;q=0.8
Origin: http://127.0.0.1:22222
Content-Type: application/x-www-form-urlencoded
Referer: http://127.0.0.1:22222/File.html
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: keep-alive
sex=Female
我本来期待在请求头后面能看到数据,为什么没有显示出来呢?
1 个回答
2
我觉得你需要为所有的输入框定义一个 name
属性。
现在只有单选框有名字。
<INPUT type="radio" name="sex" value="Male"> Male<BR>
<INPUT type="radio" name="sex" value="Female"> Female<BR>
给输入框加上名字属性:
<LABEL for="lastname">Last name: </LABEL>
<INPUT type="text" id="lastname" name="lastname"><BR>