Lua套接字HTTP连接被拒绝

时间:2015-07-16 22:47:52

标签: sockets http lua github-api

我正在尝试创建一个使用Lua socket.http向Github存储库创建问题的函数,但我每次都会拒绝连接。套接字的文档有点不清楚,我找不到更多有用的信息,为什么请求每次都被拒绝。我尝试了以下方法:

local config = {
    token = "oauth token from github"
}

local http, ltn12 = require("socket.http"), require("ltn12")
local payload = '{"title": "Test", "body": "Test body", "labels": ["bug"]}'
local response, status, headers, line = http.request("https://api.github.com/repos/<username>/<repository>/issues?access_token=" .. config.token, payload)

所以我再次检查了怎么做,还有第二个表格来做一个请求。我正在尝试以下方法:

local response = {}
local _, status, headers, line = http.request{
    url = "https://api.github.com/repos/<username>/<repository>/issues",
    sink = ltn12.sink.table(response),
    method = "POST",
    headers = {
        ["Authorization"] = "token " .. config.token,
        ["Content-Length"] = payload:len()
    },
    source = ltn12.source.string(payload)
}

根据套接字文档,这应该向URL发送POST请求,将有效负载作为正文发送。如果我print(status),则会打印connection refused

我忽略了第一个返回值,因为它总是为1。

我尝试使用curl手动发出请求:

curl -H "Authorization: token <oauth token from github>" https://api.github.com/repos/<username>/<repository>/issues -XPOST -d '{"title": "Test", "body": "{"title": "Test", "body": "Test body", "labels": ["bug"]}'

它正确地发布了这个问题。我仍然无法弄清楚连接被拒绝的情况。

0 个答案:

没有答案