GET请求的数据会附在URL之后(数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连。例如:
login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。
如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。
POST提交的数据放置在HTTP包的包体中。
package = "POST /SYS/login/login.aspx HTTP/1.1\r\n"
"Content-Type: application/x-www-form-urlencoded\r\n"
"Host: www.abc.com\r\n"
"Content-Length: 35\r\n"
"Connection: Keep-Alive\r\n"
"Cache-Control: no-cache\r\n\r\n"
"userid=12345&password=12345";
其中,POST是HTTP的命令,后面紧接的是要提交的网页地址,是相对地址,因为后面有Host参数。
Content-Type:提交的内容类型。
Host:主机地址。
Content-Length:POST的数据长度,也就是后面的userid=12345&password=12345的长度。
Connection:链接方式。
Cache-Control:缓存控制。
\r\n加一个空行,表示信息头结束,之后是Post的数据内容。
消息头可以根据自己的需要定义。
HTTP1.1协议中文版-RFC2616:http://www.cnpaf.net/Class/HTTP/200811/23277.html
http 提交
最新推荐文章于 2020-06-06 16:00:23 发布