ftp搜索引擎的设计和实现:5.1 CGI脚本(二)
来源:互联网 发布:tb程序化交易平台源码 编辑:程序博客网 时间:2024/06/08 02:52
为了传递一个参数给脚本,可以在URL中使用 (?) 插入脚本名词和参数之间。
表单从浏览器发给服务器有两种方法。GET 和 POST。
GET方法将数据打包放置在环境变量QUERY_STRING中作为URL整体的一部分传递给服务器。
POST做很多类似GET同样的事情, 不同的地方就是它是分离地传递数据给脚本. 你的脚本通过标准输入获取这些数据. (有些Web服务器是存储在临时文件中.) 这个QUERY_STRING环境变量将不再设置。
那你用那个方法呢? POST是个安全的方法, 尤其如果你的表单中有很多数据的话. 当你用GET, 这个服务器就分配变量QUERY_STRING给所有的表单数据, 但是这个变量可存储量是有限的. 换句话说,如果你有很多数据但是你又用GET,你会丢失很多数据.
如果你用POST, 你可以尽可能多地使用数据, 因为这些数据从来也不分配到一个变量里.
URL编码是一种浏览器用来打包表单输入的格式. 浏览器从表单中获取所有的name和其中的值 ,将他们作为name/value参数编码, 移去那些不能传送的字符, 将数据排行等等,这些还取决于你用GET还是POST?作为URL的一部分或者分离地发给服务器. 不管哪种情况, 在服务器端的表单输入格式样子象这样:
theName=Ichabod+Crane&gender=male&status=missing&headless=yes
URL编码遵循下列规则:
每对name/value由&符分开.
每对来自表单的name/value由=符分开. 如果用户没有输入值给这个name,那么这个name还是出现,只是无值(象这样 "name=").
任何特殊的字符(就是那些不是简单的七位ASCII,如汉字) 将以百分符%用十六进制编码. 当然也包括象 =, &, 和 % 这些特殊的字符.
在输入区中的空格将以加号+显示.
因为表单输入是用这个URL编码传递给你的脚本的,在你用这些参数之前必须解码。
看看这个url:
http://iseftp.2288.org:52080/cgi-bin/snapshot?url=0day.happy98.org/
它指示脚本名称为snapshot,第一个变量是url,值为0day.happy98.org/
查看src/search/queryentry.cpp里的getQueryCondition()函数,该函数用于search程序解析浏览器的输入。
- ftp搜索引擎的设计和实现:5.1 CGI脚本(二)
- ftp搜索引擎的设计和实现:5.1 CGI脚本(一)
- [转]FTP搜索引擎的设计与实现(优化版)
- [转]FTP搜索引擎的设计与实现(优化版)
- [转]FTP搜索引擎的设计与实现(优化版)
- FTP搜索引擎的设计与实现
- FTP搜索引擎的设计与实现
- [转]FTP搜索引擎的设计与实现
- FTP搜索引擎的设计与实现
- FTP搜索引擎的设计与实现
- [转]FTP搜索引擎的设计与实现
- [转]FTP搜索引擎的设计与实现
- cgi脚本进行数据的处理和反馈(二)
- 搜索引擎的设计与实现(二)技术选型--爬虫
- cgi脚本进行数据的处理和反馈(一)
- 实现自己的搜索引擎(二)
- .net 2.0 下的FTP搜索引擎实现
- 搜索引擎的设计与实现(二)技术选型--全文索引
- MS-VC 使用MAP文件快速定位错误行 .
- 请问高手,在三层结构下,用oracle的long raw或blob字段保存图片,出现"ora-01465 无效的十六进制数"的错误,怎样解决?
- ROW_NUMBER、RANK、DENSE_RANK的用法(1)
- C#中调用Windows API的要点
- vim的查找字符串
- ftp搜索引擎的设计和实现:5.1 CGI脚本(二)
- svn install
- opencv保存图片
- ftp搜索引擎的设计和实现:5.1 CGI脚本(一)
- XStream教程
- wince 设备与PC机连接
- 一些操作sql server相关服务的命令行
- --------谁。偷走的那些青春
- 有一天,WebForm 对 MVC 说:能否借你的UpdateModel方法来用用?