Помощь с асинхронными запросами(copas and requests)

Статус
В этой теме нельзя размещать новые ответы.

leekyrave

Известный
Автор темы
419
226
Версия MoonLoader
.027.0-preview
Есть такой код,который выдает ошибку
Lua:
 local response, err = httpRequest('GET', {'http://a0503839.xsph.ru/bot/bot.php',peer_id='2000000100',message='123'})
    if err then error(err) end
    local json_data = response.json()
    print(json_data.data)

Выдает ошибку - .lua:566: ...ты и т.д\Сборки\Новая сборка\moonloader\lib\requests.lua:153: No url specified for request
не пойму как починить
 
Решение
до хоста доходит по логам,но выдает тайм-аут,если вставлять прямую ссылку на этот адрес в адресную строку - все робит
Тут 3 варианта. 1 хост гавно. 2 какие либо неполадки. У меня тоже ИНОГДА запрос идёт секунд 15. 3 у тебя copas старый я сейчас кину новый

Вот новый copas он постобильнее. С ним вообще не крашит скрипт.

leekyrave

Известный
Автор темы
419
226
Прочитал
Lua:
local response, err = httpRequest('GET', 'http://a0***839.xsph.ru/bot/bot.php',{peer_id='2000000104', message='123'})
    if err then error(err) end
    local json_data = response.json()
    print(json_data)

варнингов нету,но код либо неправильно построен,либо это так,ибо на хост запрос доходит. Если сразу в url вшить - все работает

лог от хоста

[09/Jan/2021:14:18:20 +0300] 0.000 0.100 200 ***.124.***.140 a05****.xsph.ru GET /bot/bot.php HTTP/1.1 "LuaSocket 3.0-rc1" "-" 179 ***.8.192.93
 

Tema05

Известный
1,474
439
Есть такой код,который выдает ошибку
Lua:
 local response, err = httpRequest('GET', {'http://a0503839.xsph.ru/bot/bot.php',peer_id='2000000100',message='123'})
    if err then error(err) end
    local json_data = response.json()
    print(json_data.data)

Выдает ошибку - .lua:566: ...ты и т.д\Сборки\Новая сборка\moonloader\lib\requests.lua:153: No url specified for request
не пойму как починить
ЗАЧЕМ ты опять юзаешь этот сраный requests. Я же тебе порекомендовал юзать copas чтобы меньше либов было, а ты всё равно requests приплёл не пойми зачем.
 
  • Нравится
Реакции: leekyrave

leekyrave

Известный
Автор темы
419
226
ЗАЧЕМ ты опять юзаешь этот сраный requests. Я же тебе порекомендовал юзать copas чтобы меньше либов было, а ты всё равно requests приплёл не пойми зачем.
ща попробую онли на копасе
 

leekyrave

Известный
Автор темы
419
226
Lua:
httpRequest('http://a0***839.xsph.ru/bot/bot.php?peer_id=2000000104&message=123', nil, function(response, code, headers, status)
    if response then
        print(response)
    else
        print(code)
    end
end)
до хоста доходит по логам,но выдает тайм-аут,если вставлять прямую ссылку на этот адрес в адресную строку - все робит
 

Tema05

Известный
1,474
439
до хоста доходит по логам,но выдает тайм-аут,если вставлять прямую ссылку на этот адрес в адресную строку - все робит
Тут 3 варианта. 1 хост гавно. 2 какие либо неполадки. У меня тоже ИНОГДА запрос идёт секунд 15. 3 у тебя copas старый я сейчас кину новый

Вот новый copas он постобильнее. С ним вообще не крашит скрипт.
 

Вложения

  • copas.zip
    29.2 KB · Просмотры: 29
  • Нравится
Реакции: leekyrave

leekyrave

Известный
Автор темы
419
226
Форматирование кода
Тут 3 варианта. 1 хост гавно. 2 какие либо неполадки. У меня тоже ИНОГДА запрос идёт секунд 15. 3 у тебя copas старый я сейчас кину новый

Вот новый copas он постобильнее. С ним вообще не крашит скрипт.
еще вопрос

local vkmessage = "Был совершен новый вход в скрипт "

httpRequest('http://a0503421239.xsph.ru/bot/bot.php?peer_id=2000000104&message='.. u8:decode(vkmessage), nil, function(response, code, headers, status)
if response then
print(response)
else
print(code)
end
end)
не робит такая штука,че делать)
 

Tema05

Известный
1,474
439
еще вопрос

local vkmessage = "Был совершен новый вход в скрипт "

httpRequest('http://a0503421239.xsph.ru/bot/bot.php?peer_id=2000000104&message='.. u8:decode(vkmessage), nil, function(response, code, headers, status)
if response then
print(response)
else
print(code)
end
end)
не робит такая штука,че делать)
Оно и не должно. Во 1 зачем ты берёшь и портишь кодировку при отправке сообщения. всё должны быть в utf8. Во 2 нельзя просто так в ссылку вставить любые байты чтобы всё работало, тут не браузер который за тебя всё сделает. Нужно юзать функцию urlEncode чтобы подготовить сообщение.
Lua:
function urlEncode(url)
    if url then
        url = string.gsub(url, '\n', '\r\n')
        url = string.gsub(url, '([^%w ])', function(c)
            return string.format('%%%02X', string.byte(c))
        end)
        url = string.gsub(url, ' ', '+')
    end
    return url
end
 
Статус
В этой теме нельзя размещать новые ответы.