首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有openresty lua-resty-http模块的body发送请求

使用带有openresty lua-resty-http模块的body发送请求
EN

Stack Overflow用户
提问于 2015-07-10 01:27:28
回答 1查看 3.8K关注 0票数 1

我正在尝试通过http模块lua-resty-http发送请求。如何发送包含正文数据的请求。

我已经试过了

代码语言:javascript
复制
hc:connect("127.0.0.1", 82)

dates = ngx.req.get_post_args()

local hc = http:new()

result, errors = hc:request{
    path = requrl,
    method = "POST",
    body = dates,
    headers = {
      ["Host"] = "localhost",
    },
}

基本上,我正在尝试将一个lua表发送到另一个服务器位置。以及如何在lua表位置上进行捕获。

如果能有详细的解释,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2015-10-03 13:56:03

ngx.req.get_post_args()返回一个键、值对的表。http客户端的request函数的主体参数必须在format supported by OpenResty's cosocket send API中。这意味着要么是字符串,要么是保存字符串的类似表的数组。

如果您想通过HTTP请求发送一个lua表,那么您需要一种将其编码为字符串的方法。一种常见的方法是使用JSON,您可以使用捆绑的cjson库来实现:

代码语言:javascript
复制
local json = require "cjson"
local dates = ngx.req.get_post_args()

hc:request {
  body = json.encode(dates),
  ...
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31324349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档