美文网首页
lua 之http请求内部请求

lua 之http请求内部请求

作者: 奔跑吧老王 | 来源:发表于2020-09-15 09:04 被阅读0次

    1、内部请求单个(只能请求内部服务)

    ngx.location.capture(uri,{options...});
    local res = ngx.location.capture("order",{
                 method = ngx.HTTP_GET,  #设置请求方式为get请求
                 args = {orderId=1,userId=2}, # get请求参数
                 body = "orderId=1&userId=2" #post请求参数
    });
    res返回主要包含
    status请求的响应状态
    header 响应的所有头信息
    body 响应体数据,有可能被异常信息截断(truncated)
    truncated 是否被截断
    

    内部请求不允许外部访问,只需要在location内添加internal即可:

    image.png

    在读取post请求参数前,必须先设置

    ngx.req.read_body;

    读取post请求参数的方式为:

    ngx.req.get_post_args();

    2、内部请求并发(只能请求内部服务)

    ngx.location.capture_multi({
       { uri,{options...}},
       { uri,{options...}},
       { uri,{options...}}
      ..............
    });
    

    在请求时,对方返回的是压缩的数据,可以通过配置:

    proxy_set_header Accept-Encoding '';   告诉对方不需要压缩返回
    

    相关文章

      网友评论

          本文标题:lua 之http请求内部请求

          本文链接:https://www.haomeiwen.com/subject/slkcyktx.html