深入研究表单提交方式:GET/POST

2016-01-29 13:30 7 1 收藏

深入研究表单提交方式:GET/POST,深入研究表单提交方式:GET/POST

【 tulaoshi.com - PHP 】

大家知道目前表单提交的方式有GET和POST。我在这里不多说什么,给大家看一个以GET方式提交的表单的请求: 

GET /cgi-bin/tech/method.cgi?GET=GET HTTP/1.1 
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */* 
Referer: 

::URL::

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)http://localhost//other.html  
Accept-Language: zh-cn 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) 
Host: localhost:8080 
Connection: Keep-Alive 

  这个请求是我们通过这个HTML代码发出的: 

<form action="

::URL::

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)http://localhost:8080/cgi-bin/tech/method.cgi"  method="GET" 
<input type="text" size="10" value="GET" name="GET" 
<input type=submit value="GET方式" 
</form 

  这个请求已经超出了我们研究的范围,我们只研究其中的第一行。其中,第一个"GET"说出了提交的方式,是以GET方式提交的;中间的就是提交给服务器上哪个程序,前面一部分"/cgi-bin/tech/method.cgi"就是我们HTML的form中action的内容,而后面的"GET=GET"就是HTML的form中,input的内容:我们发现IE已经把这个表单的内容转换成特定格式了。在Perl中,通过$GET=$ENV{'QUERY_STRING'}获得以GET发送的数据。 

  我们再看一个以POST方式提交的表单的请求: 

POST /cgi-bin/tech/method.cgi HTTP/1.1 
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms- 
powerpoint, application/vnd.ms-excel, application/msword, */* 
Referer: 

::URL::

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)http://localhost//other.html  
Accept-Language: zh-cn 
Content-Type: application/x-www-form-urlencoded 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) 
Host: localhost:8080 
Content-Length: 9 
Connection: Keep-Alive 

POST=POST 

  同样给出HTML: 

<form action="

::URL::

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)http://localhost:8080/cgi-bin/tech/method.cgi"  method="POST" 
<input type="text" size="10" value="POST" name="POST" 
<input type=submit value="POST方式" 
</form 

  我们发现其中的数据跑到了最下面。在Perl中,通过read(STDIN,$POST,$ENV{'CONTENT_LENGTH'})获得以POST发送的数据。我记得GET发送数据最多只能1024字节,而POST好像很大很大! 

  思考:如果我有这么一段HTML代码,它将会出现什么问题呢? 

<form action="

::URL::

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)http://localhost:8080/cgi-bin/tech/method.cgi?GET=GET"  method="POST" 
<input type="text" size="10" value="POST" name="POST" 
<input type=submit value="GET/POST方式" 
</form 

  这个代码在很多程序上可能用到过,但是大多数人不会好好的想一想,究竟哪些内容是以GET发送的,哪些内容是以POST发送的。我们看看它的请求是什么: 

POST /cgi-bin/tech/meth

来源:http://www.tulaoshi.com/n/20160129/1490403.html

延伸阅读
标签: ASP
  二、Session对象的成员概述 Session对象的成员比Application对象多一项属性,即:集合、属性、方法、事件 ⒈Session对象的集合 Contents :没有使用<OBJECT元素定义的存储于特定Session对象的所有变量的集合。 StaticObject:使用<OBJECT元素定义的、存储于Session对象中的所有变量的集合。 例:在defau...
标签: Web开发
Get或Post提交值的非法数据处理?php //******************************************************** //-- 程序名称:StrSwap V1.01 //-- 程序编写:[email]cngift@163.com[/email] //-- 完成: 2002-8-1 //-- 程序用途:Get或Post提交值的非法数据处理 //-- 备注: 本程序需要加载在所有程序处理前使用,以便自动进行 //-- 程序中使用的变量...
标签: Web开发
刚才写一个小偷程序,突然发现一旦POST中文时抓取不到内容,考虑到中文编码问题,像javascript中的escape()一样,在vbscript中也可以使用这个函数,只需要这个发送就可以正常抓取到内容了send("A="&escape(A)&""&escape(B)) 完成收工! 附几个小偷常用的function函数 Function ByteToStr(vIn)     Dim strRet...
标签: ASP
  二、在ASP中执行 现在已经得出结论,RFC1867是在WEB应用程序上载文件的最好方式。那么如何来运行?Microsoft提供了什么方法?其它有哪些方法可以用? Microsoft的Posting Acceptor ASP不支持multipart/form-data编码方式,但是,Microsoft提供了免费的Posting Acceptor(http://www.microsoft.com/iis/support/iis...
标签: ASP
  现在“瘦客户”的观点已经是一个神话了,但随着电视或掌上型浏览器的繁荣,这一状况会有所改变。今天绝大多数的网络客户仍使用功能强大的PC,附着着大量的客户端存储器和客户端感兴趣的内容。在Internet协议下,将文件传递到中央服务器有一些方法可供选择,但基于WEB的文件上载比其它方法都要高级。下面来检验这一点。 一、HTTP...

经验教程

335

收藏

8
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部