使用lua中的cURL

我正在尝试在一个小的lua脚本中使用curl库。

我知道有一个“-k”选项可以禁用curl默认执行的认证验证...但我还没有找到如何通过代码来实现它。

以下是我目前的代码:

  local cURL = require("cURL")

    headers = {"Accept: text/*",
               "Accept-Language: en",
               "Accept-Charset: iso-8859-1,*,utf-8",
               "Cache-Control: no-cache"}
    login_url = "https://10.10.2.1/cgi-bin/acd/myapp/controller/method?userid=tester&password=123123"

    c = cURL.easy_init()
    c:setopt_url(login_url)

    c:perform({writefunction=function(str)
                                succeed = succeed or (string.find(str, "srcId:%s+SignInAlertSupressor--"))
                             end })

谢谢您的时间。

点赞
用户1834828
用户1834828

我不太了解 lua 和相应的 cURL 实现。但是要禁用 SSL 验证,您需要设置这些选项

CURLOPT_SSL_VERIFYPEERCURLOPT_SSL_VERIFYHOST

而在 lua 中,我认为您可以使用以下方式进行设置,

c:setopt(CURLOPT_SSL_VERIFYPEER , false)
c:setopt(CURLOPT_SSL_VERIFYHOST , false)
2014-07-26 06:13:36
用户2328287
用户2328287

使用新版的 Lua-cURL[1],您可以编写以下代码:

local cURL = require("cURL")

headers = {
  "Accept: text/*",
  "Accept-Language: en",
  "Accept-Charset: iso-8859-1,*,utf-8",
  "Cache-Control: no-cache"
}

login_url = "https://10.10.2.1/cgi-bin/acd/myapp/controller/method?userid=tester&password=123123"

c = cURL.easy{
  url            = login_url,
  ssl_verifypeer = false,
  ssl_verifyhost = false,
  httpheader     = headers,
  writefunction  = function(str)
    succeed = succeed or (string.find(str, "srcId:%s+SignInAlertSupressor--"))
  end
}

c:perform()

1 - https://github.com/Lua-cURL/Lua-cURLv3

2014-09-17 11:02:46