Chapter 5. Forms
很多我们感兴趣的数据是通过HTML 表单来进行访问的, 本章将向你展示如何编写程序来提交表单来提交数据
和 得到结果页, 覆盖了复杂的话题,我们考虑包装形式数据为获得和POST请求,如何每种类型的HTML表单元素产生表单数据,和
如何对自动化过程的提交表单数据和处理的响应.
Web的基本模型的典型的主题是与一个已知的URL 的document,当你需要访问的时候,你要得到它,没有问题。
即使有cookies或者http 认证被调用。
这些基本上知识补充适当的从服务器请求的URL的过程。但是一些web资源需要的参数不仅仅是URL,
参数被提供通过用户表单,和浏览器然后发送无论是作为动态部分(如GET请求)或POST请求内容的URL。
数据接收端的程序可以简单地使用它作为一个查询用于检索其他数据,如扫描所有的RFCs和上市的具体作家,
或者一个程序可以存储数据,并将用户的数据保存作为一个新的post 到一个message base.
或者一个程序可以做更加伟大的事情用用户提供的数据。
但我们感兴趣是这里的数据从HTML 表单到那些服务器端。一旦你了解了过程,你可以写lwp程序来模拟过程,
通过提供一种真实的生活用户提供相同的数据,将提供一个真正的实时浏览器的键控数据。
5.1. Elements of an HTML Form HTML 表单的元素
一个简单的形式,一个很好的例子是
<form method=get action=/cgi-bin/gazetteer>
<hr noshade>
<h3>
<font size=+2>S</font>earch for a <font size=+2>P</font>lace in the
<font size=+2>US</font>
</h3>
<p>
Name: <input name="city" size=15>
State (optional): <input name="state" size=3><br>
or a 5-digit zip code: <input name="zip" size=8>
<p>
<input type="submit" value="Search">
</form>
我们已经强调了有趣的bits, <form> tag的方法属性 告诉是否使用get或者post 来提交表单数据。
动作属性给出了接收表单数据的URL, 表单组件是文本域, 下拉列表,复选框 等等,每个标示一个名字,
在这里<input> tags 定义了文本域 表示城市和国家名字,邮政 和 一个人提交按钮 叫做搜索。