Swoole

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

09-30 17:32

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


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


微信小程序
大潇博客 版权所有 Copyright ©2016~2025
京ICP备17004217号-6  合作QQ:284710375
天玺科技