最近准备接触php socket编程,所以准备先巩固以前学到的知识, 这里先简单回顾下 利用telnet 来模拟http请求。
1.先在80端口指向的目录建立http.php 文件
2.在终端输入 telenet 127.0.0.1 80
ps: windows doc命令行下:ctrl键 + ']' 键 进入输入模式,接着按回车切换到显式输入模式(可以显示输入的字符)
模拟GET请求
#在刚才建立的http.php 文件里打印 get请求参数 print_($_GET);
#请求方式 请求地址 协议
GET /test.php?a=1 HTTP/1.0
HOST : 127.0.0.1
输入完成后 2次回车 可以看到打印的get参数 a = 1 ,以及一些头信息。
这里需要注意的是,HTTP/1.1 版本 必须要加上HOST , HTTP/1.0 则可不加。
模拟POST请求
#在刚才建立的http.php 文件里打印 post请求参数生成文件 file_put_contetns('post.php',var_export($_POST,true));
#需要加上 请求的方式和消息体的长度即可。
POST /test.php HTTP/1.0
Host: localhost
Content-type: application/x-www-form-urlencoded
Content-length: 16 name=lemon&age=23
打开post.php 可以看到 name=>lemon , age=2 .因为设置的消息体长度为16。