打开cmd运行框,输入Telnet www.baidu.com 80后按回车键。此时看到的界面是黑屏状态,标题栏显示 Telnet www.baidu.com
若是提示telnet不是内部或外部命令
能够参考百度经验。利用快捷键打开“Ctrl+]
”打开Telnet回显,按回车键后能够进入编辑状态。javascript
回显模式:php
编辑模式:html
接下来是考验手速的时候了,单身党必定完胜的游戏。输入GET /index.html HTTP/1.1按回车键,接着输入HOST:www.baidu.com,连续按两次回车键(两次回车表明提交请求)输入速度不够快的话,将会链接失败。能够将代码写入记事本,使用时直接复制就行了。java
而后来看看服务器的返回数据:json
Http.class.php数组
<?php class HttpRequest { private $_host; //主机地址 private $_port; //端口号 private $_requestHead; //请求头信息 private $_requestMethod; //请求方式 private $_requestPath; //请求路径 private $_requestContent = ''; //请求正文 private $_httpVersion = '1.1'; //协议版本 /** * [__contruction 初始化成员属性] * @author:JieJie */ public function __construct($host,$port,$method,$path) { $this->_host = $host; $this->_port = $port; $this->_requestMethod = strtoupper($method); $this->_requestPath = $path; } /** * [setRequestHead 设置请求头信息] * @author:JieJie * @DateTime:2016-11-25T00:22:04+0800 * @param [array] $data [头信息数组] */ public function setRequestHead($data) { foreach ($data as $key => $value) { $this->_requestHead .= $key.':'.$value."\r\n"; } $this->_requestHead .= "\r\n"; return $this; } /** * [setRequestContent 设置请求正文] * @author:JieJie * @DateTime:2016-11-25T00:37:53+0800 * @param [array] $data */ public function setRequestContent($data) { if($this->_requestMethod != 'POST') return $this; foreach ($data as $key => $value) { $this->_requestContent .= "{$key}={$value}&"; } $this->_requestContent = rtrim($this->_requestContent,'&')."\r\n"; return $this; } /** * [sendRequest 发送HTTP请求并获取结果] * @author:JieJie * @DateTime:2016-11-25T00:51:53+0800 */ public function sendRequest() { //拼接请求行 $http = "{$this->_requestMethod} {$this->_requestPath} HTTP/{$this->_httpVersion}\r\n"; //拼接请求头 $http .= $this->_requestHead; //拼接请求正文 $http .= $this->_requestContent; //建立链接 $fp = fsockopen($this->_host,$this->_port,$errno,$errstr); if(!$fp) throw new Exception($errstr); //发送请求 fwrite($fp, $http); //得到结果 $result = ''; while (!feof($fp)) $result .= fgets($fp); return $result; } } ?>
client.php服务器
<?php include './Http.class.php'; $Http = new HttpRequest('www.jiejieyh.cn','80','POST','/login.php'); $requestHead = [ 'Host'=>'www.jiejieyh.cn', 'User-Agent'=>'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0', 'Accept'=>'application/json, text/javascript, */*; q=0.01', 'Accept-Language'=>'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3', 'Accept-Encoding'=>'gzip, deflate', 'Content-Type'=>'application/x-www-form-urlencoded;', 'charset'=>'UTF-8', 'X-Requested-With'=>'XMLHttpRequest', 'Referer'=>'http://www.jiejieyh.cn', 'Content-Length'=>47, 'Connection'=>'keep-alive' ]; $requestContent = [ 'password' => 'admin', 'username' => '123456', ]; $result = $Http->setRequestHead($requestHead)->setRequestContent($requestContent)->sendRequest(); echo $result; ?>