阅读模式:

lua发送http请求

查看:18659  回复:4  类型:  来源:php自学网  标签 nginx lua

        lua发送http请求,luajit默认没有http.lua库,需要下载并存放到luajit对应目录。

一、下载http.lua和http_headers.lua库

location = /testscript{
    default_type text/plain;
    content_by_lua_file html/luafile/test.lua;
}
vim test.lua
local zhttp = require "resty.http"

        1.运行后查看nginx错误日志,会提示没有http.lua文件:

no http.lua file.png

        2.下载http.lua和http_headers.lua库

            下载页面:https://github.com/pintsized/lua-resty-http

            直接下载:http_headers.lua-http.lua.rar

            下载好后放入对应目录,这里的目录是:

[root@zixuephp resty]# pwd
/usr/local/LuaJIT/share/luajit-2.0.5/resty
git clone https://github.com/pintsized/lua-resty-http.git

http.lua downloads.png

http.lua file show.png

    重启nginx。

二、lua发送http请求代码

    1.get请求

local zhttp = require "resty.http"
local function http_post_client(url, timeout)
        local httpc = zhttp.new()

        timeout = timeout or 30000
        httpc:set_timeout(timeout)

        local res, err_ = httpc:request_uri(url, {
                method = "GET",
                headers = {
                    ["Content-Type"] = "application/x-www-form-urlencoded",
                }
        })
        httpc:set_keepalive(5000, 100)
        --httpc:close()
        return res, err_
end

    2.post请求

local zhttp = require "resty.http"
local function http_post_client(url,body,timeout)
        local httpc = zhttp.new()

        timeout = timeout or 30000
        httpc:set_timeout(timeout)

        local res, err_ = httpc:request_uri(url, {
                method = "POST",
                body = body,
                headers = {
                    ["Content-Type"] = "application/x-www-form-urlencoded",
                }
        })
        httpc:set_keepalive(5000, 100)
         httpc:close()
        if not res then 
            return nil, err_ 
         else if res.status == 200 then 
             return res.body, err_ 
         else 
             return nil, err_ end 
         end

end
--get
local resp, err = http_post_client("http://zixuephp.net/index.html?name=test",3000)
--post
local body = {"name" = "test"}
local resp, err = http_post_client("http://zixuephp.net/index.html?name=test",body,3000)
分享到:
0 0

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

最新评论:
阿巴  发表于 2019-05-25 15:31:07  中国浙江省
沙发
我这里local ngx = ngx 这行出错了,好像是没有ngx 这个是要怎么操作 回复
站长 2019-05-27 16:56 中国广东省深圳市南山区
是不是你的模块没安装好 回复
Clown  发表于 9天前  四川省成都市移动
板凳
local httpc = zhttp.new()这里报错“/opt/openresty/lualib/resty/http.lua:133: API disabled in the context of log_by_lua* stack traceback:”。怎么解决啊?困扰很久了。。 回复
站长 2020-08-03 11:46 中国广东深圳
函数被禁用了,试试其他的http库版本看一下,地址:https://github.com/ledgetech/lua-resty-http/tags 回复
回复:[主题]
表情:
 提交评论
清空

发布评论:


登录:
  表情:
评论话题
推荐阅读:
网站性能优化-页面静态缓存   阅读:6524centos 7 忘记root密码   阅读:6136十张GIF让你弄懂递归等概念   阅读:7376php连接redis   阅读:6788HTTP 1.1 协议详解   阅读:16280HTTP 1.1 协议详解   阅读:16280php中地址引用&的真正理解-变量引用、函数引用、对象引用   阅读:7129php打印九九乘法表   阅读:13256浅谈javascript的函数节流   阅读:5815php+redis实现消息队列   阅读:17452解决 nginx 413 request entity too large   阅读:5622Mysql在大型网站的应用架构演变   阅读:5667php打印九九加法表   阅读:12968shell发送邮件脚本   阅读:10640centos7开启交换内存   阅读:12836php设置cookie为HttpOnly防止XSS攻击   阅读:14532centos 7 开启网络   阅读:8622linux教程,鸟哥私房菜(pdf全集)   阅读:11802php 生成图片,给图片加水印   阅读:7774php冒泡排序法   阅读:16292shell脚本统计当前服务器并发连接数   阅读:9199把php session 会话保存到redis   阅读:8737centos 7搭建zabbix3.4   阅读:7831TCP的三次握手(建立连接)和四次挥手(关闭连接)   阅读:5112centos 7 修改系统屏幕分辨率   阅读:51079网站局部小图片优化-base64编码图片   阅读:22346centos7.3安装mongodb3.6   阅读:9049最简单的Banner轮播左右切换效果代码及实现思路(附带源码)   阅读:35022shell脚本批量删除几天前的文件   阅读:12247nginx安装redis模块   阅读:8017php 使用 smtp.php 类在线发送邮件功能   阅读:6947centos 7 修改系统屏幕分辨率   阅读:51079php 读取和设置redis的键值   阅读:8569Nginx 配置文件详解   阅读:6365人性漫画:打工与创业的残酷区别   阅读:6098nginx安装mysql和json模块   阅读:7082php压缩页面的html代码一行显示   阅读:8995mysql5.7主从同步中binlog同步模式详解   阅读:9723ajax+php 实现一个简单的在线聊天室功能(附带源码)   阅读:11262web性能测试工具ab的测试方法   阅读:5747ajax+php 实现一个简单的在线聊天室功能(附带源码)   阅读:11262分享:淘宝技术这十年   阅读:5719企业让你去面试,可能不是真的招人   阅读:7086centos 7 忘记root密码   阅读:6136linux php7安装yaf扩展   阅读:10050面试都会问你为什么你从上一家公司离职的真实意思   阅读:12899mysql5.7主从同步配置   阅读:8257移动端js触摸touch详解(附带案例源码)   阅读:19167程序员找工作三要素(必看)   阅读:6759csv文件一键导入数据到mysql数据库   阅读:8043