登录

在Nginx+Lua的环境下,怎样在响应数据返回前,替换部分数据?

如题...搭建nginx+lua-nginx-module模块的环境

访问网址/abc,返回a.html的数据

但是在返回数据前
需要将a.html里面的<p>111</p>替换为<p>222</p>

请问一下这个Lua能做到吗?

目前做过的尝试是在body_filter_by_lua_filengx.arg[1]里尝试获取返回数据
但是获取不到...返回数据应该在什么获取和处理呢?

# Linux
阿神 阿神 2530 天前 614 次浏览

全部回复(3) 我要回复

  • 滿天的星座

    滿天的星座2017-05-16 17:14:34

    肯定是可以做的,这就相当于用lua进行dom操作,我相信网上肯定有现成的dom库,没有自己也可以写一个。第二个问题,我不是很了解

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 17:14:34

    我准备尝试用lua-resty-http或者ngx.location.capture来发送一个请求,将返回来的结果修改了,再返回数据

    回复
    0
  • 为情所困

    为情所困2017-05-16 17:14:34

    如果是单纯地做替换,可以使用 Nginx 的 ngx_http_sub_module 模块

    回复
    0
  • 取消 回复 发送