通过Swoole创建Http服务器,使用浏览器访问,在服务端打印出get请求的参数
本是一件很简单的事情,但每次刷新都会打印两次,第一次打印出get参数,第二次为NULL
怀疑是浏览器的问题,所以在Linux中使用curl发出同样的请求,果然仅打印出get参数。
这说明浏览器发送了两次请求,通过打印$request->server发现,果然收到两次请求,一次是接口请求,一次是favicon.ico请求,所以打印了两次。
所以要屏蔽掉/favicon.ico这个请求。
$server = new Swoole\Http\Server('0.0.0.0',21685);
$server->on("Request",function($request, $response){
if($request->server['path_info']=='/favicon.ico' || $request->server['request_uri']=='/favicon.ico'){
$response->end();
return;
}
var_dump($request->get);
$response->end("Hello World!");
});
$server->start();
再次调用接口,参数仅打印一次了。