1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php /** * Created by bingxiong. * Date: 4/15/18 * Time: 4:16 PM * Description: */ $http = new swoole_http_server("0.0.0.0",8811); $http->on('request',function ($request,$response){ // print_r($request->get); // $response->end("<h1>HTTPserver</h1>"); $response->cookie("bing","xxx",time()+1800); $response->end("sss".json_encode($request->get)); }); $http->start(); |
NOTE:
- 通常情况下get的数据我们是使用的$_GET来获取,在swoole中我们要使用$request->get来获取
- $response->cookie()可以设置cookie
- $response->end();设置页面的返回,必须是一个字符串
- 地址可以是本机的地址127.0.0.1,也可以是0.0.0.0,这代表监听全部地址(内网地址+外网地址)
实现效果:
如果使用命令行查看效果可以使用:
1 |
curl http://127.0.0.1:8811 |
这个时候虽然拿到了get的数据,但是是有一个问题的,当url输入http://127.0.0.1:8811/index/a.html的时候还是在现在这个页面并不会跳转到a.html的页面而是执行当前的php逻辑,因此我们需要通过set方法进行设置一下。
http_server.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php /** * Created by bingxiong. * Date: 4/15/18 * Time: 4:16 PM * Description: */ $http = new swoole_http_server("0.0.0.0",8811); $http->set([ 'enable_static_handler' => true, // 'document_root' => "/Users/bingxiong/swoole/hdtocs/demo/data" // 设置静态资源默认存放路径 ]); $http->on('request',function ($request,$response){ $response->cookie("bing","xxx",time()+1800); $response->end("sss".json_encode($request->get)); }); $http->start(); |
index.html
1 2 3 4 5 6 7 8 9 10 |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h1>我是通过HTTPserver获取的静态内容</h1> </body> </html> |