![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
|||||||
| Delphi开发Web Server程序响应用户的输入 | |||||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-8-1 ![]() |
|||||||
|
在Delphi 3的Demos中提供了简单的Web Server程序开发的例程,本文主要集中在此例程中没有涉及到的响应用户输入的问题。 HTML中用户输入主要是 语句,在 中,支持POST、PUT、GET和HEAD方法,而PUT,GET和HEAD方法返回数据的方式基本相同。 例如(查询某人的电话号码): 姓名: 在这个例子中使用了POST方法。那么在Web Server应用程序中,如何得知用户的输入信息呢? 在HTTP协议中,客户端向Web Server应用程序返回数据主要是通过URL和CONTENT部分。例如URL中:http://www.delphi.com.cn/dfyw/cgi-bin/delinfo.exe?id=10,这里,id=10数据参数,告诉delinfo.exe显示从ID=10开始的信息,这一般应用在数据量较少的情况下,优点是比较容易输入参数,缺点是数据量不能太大,并影响URL的显示。在CONTENT中保存数据信息的优点是不影响URL的显示,而且数据量较大,缺点是用户只能使用 表格让浏览器生成请求,不能直接输入请求信息。 除了POST方法使用CONTENT部分返回数据以外,其它方法都是通过URL来返回数据的。 Delphi中有TWebRequest对象,这个对象将HTTP返回的信息进行分析,非常容易使用。对于CONTENT中的数据,TWebRequest使用ContentFields,将数据分析成为一个TStrings,可以直接使用Request.ContentFields.Values['name']来都取数据。而URL中的数据,TWebRequest使用QueryFields,也将数据分析成为了一个TStrings,可以直接使用Request.QueryFields.Values['name']来读取数据。 例如上面的HTML返回的消息处理: if Request.ContentFields.Values['name']<>’’ then Response.Content:= Request.ContentFields.Values['name'] +’的电话号码是:’+QueryTelCode(Request.ContentFields.Values['name']) else Response.Content:=’请输入用户名’; 当然,还有一种输入数据是Cookie。Cookie是保存在客户端的一种数据,用来保存访问者的访问信息等。对于Cookie数据使用 CookieFields来进行读取。
|
|||||||
| 文章录入:admin 责任编辑:admin | |||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|