баг при асинхронных запросах 'GET'

zimerfm

Участник
Автор темы
69
6
Удаление темы с решением
Версия MoonLoader
.027.0-preview
здравствуйте. у меня не работает палатка луа и мой скрипт, который обращается к pastebin и берет оттуда кфг.
дело в том, что все работало и в один момент перестало работать.
вот код
Код:
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


link = "моя ссылка"
local data_from_server


asyncHttpRequest('GET', link, nil, function(response)
    data_from_server = response.text
    data_from_server = decodeJson(data_from_server)
end)

--data_from_server["таблица"] возвращает nil

data_from_server["таблица"] возвращает nil, при этом таблица указана без ошибок.

1709415029880.png


"[ML] (script) Market Manager: <!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Co......." - response.text
в случае с палаткой вот так по кд:
1709415180758.png
 
Решение
дело в том, что доставание данных с сайта работало идеально. в один момент просто перестало работать. при этом в двух скриптах. скрипт palatka.lua я не трогал, да и он скомпилирован, но там тоже перестало работать доставание данных с сайта.
у знакомых проблемы нет
У тебя ошибка потому что ты html разметку пытаешься загрузить как json. А html у тебя из-за того что вместо своей страницы ты получаешь страницу DDoS защиты, что понятно по заголовку Just a moment... и потому что пастебин использует DDoS защиту от Cloudflare

Rezbirp

Известный
72
69
Ты в переменную data_from_server пытаешься десериализовать разметку html, а не json.
Lua:
asyncHttpRequest('GET', link, nil, function(response)
    data_from_server = response.text
    data_from_server = decodeJson(data_from_server)
end)
decodeJson() скорее всего, из-за ошибки десериализации возвращает nil
 

zimerfm

Участник
Автор темы
69
6
Ты в переменную data_from_server пытаешься десериализовать разметку html, а не json.
Lua:
asyncHttpRequest('GET', link, nil, function(response)
    data_from_server = response.text
    data_from_server = decodeJson(data_from_server)
end)
decodeJson() скорее всего, из-за ошибки десериализации возвращает nil
дело в том, что доставание данных с сайта работало идеально. в один момент просто перестало работать. при этом в двух скриптах. скрипт palatka.lua я не трогал, да и он скомпилирован, но там тоже перестало работать доставание данных с сайта.
у знакомых проблемы нет
 

Fott

Простреленный
3,434
2,279
дело в том, что доставание данных с сайта работало идеально. в один момент просто перестало работать. при этом в двух скриптах. скрипт palatka.lua я не трогал, да и он скомпилирован, но там тоже перестало работать доставание данных с сайта.
у знакомых проблемы нет
У тебя ошибка потому что ты html разметку пытаешься загрузить как json. А html у тебя из-за того что вместо своей страницы ты получаешь страницу DDoS защиты, что понятно по заголовку Just a moment... и потому что пастебин использует DDoS защиту от Cloudflare
 
  • Нравится
Реакции: zimerfm