- Версия MoonLoader
- .026-beta
Пытаюсь сделать автоматические ответы на анаграммы в самп рп серверах, застопорился на отправке POST запроса на сайт. На выходе выдаёт шляпу, хотя вроде делал всё по гайду. С сервером куда делаю запрос, с ним всё в порядке, если делаю через самп - не получаеться.
У них даже есть специальная страничка с гайдом, как пользоваться ихним Апи, но у меня не получается((
Притом что через онлайн сервис по POST запросам, всё выходит
Мой код:
local effil = require 'effil'
function main()
repeat wait(0) until isSampAvailable()
sampRegisterChatCommand("test", test_func)
wait(-1)
end
function test_func(arg)
local data = {
['method'] = 'anagram',
['text'] = tostring(arg),
['count_symbol'] = tostring(#arg)
}
asyncHttpRequest('POST', 'https://rustxt.ru/api/index.php/', {data = encodeJson(data)},
function(response)
print(response.text)
end,
function(err)
print(err)
end)
end
function asyncHttpRequest(method, url, args, resolve, reject)
local request_thread = effil.thread(function (method, url, args)
local requests = require 'requests'
local result, response = pcall(requests.request, method, url, args)
if result then
response.json, response.xml = nil, nil
return true, response
else
return false, response
end
end)(method, url, args)
if not resolve then resolve = function() end end
if not reject then reject = function() end end
lua_thread.create(function()
local runner = request_thread
while true do
local status, err = runner:status()
if not err then
if status == 'completed' then
local result, response = runner:get()
if result then
resolve(response)
else
reject(response)
end
return
elseif status == 'canceled' then
return reject(status)
end
else
return reject(err)
end
wait(0)
end
end)
end
У них даже есть специальная страничка с гайдом, как пользоваться ихним Апи, но у меня не получается((
Притом что через онлайн сервис по POST запросам, всё выходит