首页 > 技术分享 > Swoole
收藏

浏览器访问Swoole的http服务器产生两次请求的问题与解决办法

09/30 17:31
大潇博客 原创文章,转载请标明出处

通过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();


再次调用接口,参数仅打印一次了。


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311