Copas & https

kriv

Участник
Автор темы
37
3
Версия MoonLoader
.026-beta
Покажите нормальный способ использования copas и либы для https запросов. Делаю по инструкции в теме от FYP, но выдает ошибку:
SSLv3 alert handshake failure
 

Kvisk

Известный
204
209
Lua:
local copas = require 'copas'
local http = require 'copas.http'

local url = 'https://google.com/robots.txt'

   httpRequest(url, nil, function(response, code, headers, status)
        if not response then
            print(url, 'Error', code) -- Ошибка если страница не загрузилась
        else
            print(response) -- Cодержимое страницы
            print(status) -- Код HTTP ответа HTTP/1.1 200 OK
            print(code) -- Номер ответа или строка ошибки
        end
    end)


function httpRequest(request, body, handler)
    if not copas.running then
        copas.running = true
        lua_thread.create(function()
            wait(0)
            while not copas.finished() do
                local ok, err = copas.step(0)
                if ok == nil then error(err) end
                wait(0)
            end
            copas.running = false
        end)
    end
    if handler then
        return copas.addthread(function(r, b, h)
            copas.setErrorHandler(function(err) h(nil, err) end)
            h(http.request(r, b))
        end, request, body, handler)
    else
        local results
        local thread = copas.addthread(function(r, b)
            copas.setErrorHandler(function(err) results = {nil, err} end)
            results = table.pack(http.request(r, b))
        end, request, body)
        while coroutine.status(thread) ~= 'dead' do wait(0) end
        return table.unpack(results)
    end
end
 

Вложения

  • lib src.rar
    14 KB · Просмотры: 35
  • Нравится
Реакции: vyser

Kvisk

Известный
204
209
Я же сказал, что этот пример не работает: sslv3 alert handshake failure
Какой запрос ты пытаешься выполнить? Если у тебя проблема с выше представленным кодом, то проблема на твоей стороне. Переустанови либы.
 

kriv

Участник
Автор темы
37
3
Да, у меня проблема, но не с либами, а с запросом до конкретного сайта. Явно что-то с сертификатами. Фип упомянул LuaSec для https-запросов, но не привел пример использования для неандертальцев.