swoole http_server

//$server = new\swoole\http\server();

//

//注意事项:1

//Swoole的HttpServer可以接受application/x-www-form-urlencoded/form-data类型的POST参数,

//并且会将解析后的参数存放在swoole_server_request对象的post成员变量内。

//对于application/json或者其他类型的请求参数,Swoole底层并不会自动解析。

//但是Swoole的swoole_server_request提供了rawContent方法可以获得原始的POST字符串,我们可以根据Content-type类型做相应的解析。

//2.POST/文件上传需要设置临时文件位置(upload_tmp_dir),并且需要设置包的大小,最大尺寸受到 package_max_length

//配置项限制,默认为2M,调用$response->end后会自动删除,在end之后操作上传文件会抛出文件不存在错误。

//

$server = new swoole_http_server('0.0.0.0',9800);

$server->set([

    'package_max_length'=>1024*1024*2,//2M默认为 2M

    'upload_tmp_dir'=>__DIR__.'/upload',

]);

$server->on('request',function ($request , $response){

    var_dump($request);

    $response->header("content-type",  "text/html");

    $response->header("Charset",  "utf-8");

    $response->cookie('user','lee');

    //根据不同的相应类型返回不同的数据格式

    var_dump($request->header['content-type']);

    if($request->header['content-type']=='application/x-www-form-urlencoded'){

        var_dump($request->post);

    }else{

        var_dump($request->rawContent());//原始数据

    }

    $response->end('http  response');

    //$response->end('http  response'); 下面这个是不能相应的

});

$server

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容