使用 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>
输出
以下是上述表单的实际输出,您输入姓和名,然后单击提交按钮查看结果。
广告