使用 Python 中的 GET 方法传递信息


GET 方法将编码后的用户信息附加到页面请求中。页面和编码后的信息由 ? 字符分隔,如下所示:

http://www.test.com/cgi-bin/hello.py?key1=value1&key2=value2

GET 方法是浏览器向 Web 服务器传递信息的默认方法,它会生成一个长字符串,该字符串显示在浏览器的 Location: 框中。如果要向服务器传递密码或其他敏感信息,切勿使用 GET 方法。

GET 方法有大小限制:请求字符串中只能发送 1024 个字符。GET 方法使用 QUERY_STRING 标头发送信息,并且可以通过 QUERY_STRING 环境变量在 CGI 程序中访问。

您可以通过简单地连接键值对以及任何 URL 来传递信息,也可以使用 HTML <FORM> 标签使用 GET 方法传递信息。

简单的 URL 示例:GET 方法

这是一个简单的 URL,它使用 GET 方法将两个值传递给 hello_get.py 程序。

以下是 hello_get.py 脚本,用于处理 Web 浏览器提供的输入。我们将使用 cgi 模块,它使访问传递的信息变得非常容易:

示例

#!/usr/bin/python
# Import modules for CGI handling
import cgi, cgitb
# Create instance of FieldStorage
form = cgi.FieldStorage()
# Get data from fields
first_name = form.getvalue('first_name')
last_name = form.getvalue('last_name')
print "Content-type:text/html\r\n\r\n"
print "<html>"
print "<head>"
print "<title>Hello - Second CGI Program</title>"
print "</head>"
print "<body>"
print "<h2>Hello %s %s</h2>" % (first_name, last_name)
print "</body>"
print "</html>"

输出

这将生成以下结果:

Hello ZARA ALI

简单的表单示例:GET 方法

此示例使用 HTML 表单和提交按钮传递两个值。我们使用相同的 CGI 脚本 hello_get.py 来处理此输入。

<form action = "/cgi-bin/hello_get.py" method = "get">
First Name: <input type = "text" name = "first_name"> <br />
Last Name: <input type = "text" name = "last_name" />
<input type = "submit" value = "Submit" />
</form>

输出

以下是上述表单的实际输出,您输入姓和名,然后单击提交按钮查看结果。

更新于: 2020年1月31日

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告