温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

openresty中lua的https请求报错的代替办法(丑

发布时间:2020-02-27 02:07:30 来源:网络 阅读:923 作者:黄劲峰_Res 栏目:建站服务器

openresty中是有一套请求http/https的方法的:resty.http。https请求需要添加证书文件crt,但是我试了老半天,centos下所有的证书文件都试过去了,找不到钉钉api.dingtalk.com对应的证书。而且还报错缺少ssl模块。
而用curl请求是可以拿到正常结果的,故而产生了一个歪念头。。。。

url = "https://oapi.dingtalk.com/gettoken?appkey="..appkey.."&appsecret="..appsecret
cmd = "echo curl -s \""..url.."\""
t = io.popen(cmd)
, , d = string.find(t:read(), '{"errcode":0,"access_token":"(%S+)","errmsg')

哈哈,是不是看上去很怪异?lua调用命令行,然后捕获返回信息,再用正则去解析。
实在没办法了,证书这个问题卡了我很久,到现在也没有解决,所以用了这个办法,还完美规避了resty中一些依赖的缺失问题。

★注意,这里不能直接调用curl哦,因为返回值会抛出一些过程信息,拿到的是一堆无法解析的乱码,必须用echo屏蔽掉这些信息,然后才能上正则。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI