- 31
- 0
- Версия MoonLoader
- Другое
Здравствуйте, вопрос. Пытаюсь освоить http, взял код с примера в теме и пробую: на 0.27 работает, сайты откликаются-отзываются. А 0.26 ошибки. При одном и том же коде. Что такого есть в 0.27 что сайту нравится когда он обращается к нему?
Код:
local copas = require 'copas'
local http = require 'copas.http'
function httpRequest(request, body, handler) -- copas.http
-- start polling task
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
-- do request
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
lua_thread.create(function()
local list = {
"https://script.google.com/macros/s/AKfycbwT8VM8moTSJzWRwPP60p0uou4xNCbDS1hyP3mkL5wpKn9pwGqm/exec?name=123&text=123",
} -- 0,27: OK HTTP 1.1; 0,26: Error Invalid argument
-- последовательные запросы, обработаются друг за другом
print('{fffafa}sequential')
for i, url in ipairs(list) do
print('{fffafa}request' .. url .. '')
local response, code, headers, status = httpRequest(url)
if response then
print('{fffafa}' .. url .. ' OK' .. status .. '')
else
print('{fffafa}' .. url .. ' Error' .. code .. '')
end
end
end)
function main() while true do wait(0) end end