help по qiwi api

Miron Diamond

Известный
Автор темы
252
163
Версия MoonLoader
.027.0-preview
Как передавать эти ваши header через lua?
1618741005216.png
 

Вложения

  • 1618740975510.png
    1618740975510.png
    12 KB · Просмотры: 45

Vintik

Мечтатель
Проверенный
1,410
851
QIWI API на Lua? Что-то новенькое. Полагаю, что так.
Lua:
url = 'твоя ссылка из QIWI API'

headers = {
['Accept'] = 'application/json',
['Content-Type'] = 'application/json',
['Authorization'] = 'Bearer YUu2qw048gtdsvlk3iu'
}

httpRequest(url, headers=headers, function(response, code, headers, status) -- отправка самого запроса
    if response then
        print('Сервер принял запрос')
    else
        print('Произошла ошибка')
    end
end)
Рекомендую почитать статью по асинхронным запросам.
 
  • Нравится
Реакции: Miron Diamond

Miron Diamond

Известный
Автор темы
252
163
QIWI API на Lua? Что-то новенькое. Полагаю, что так.
Lua:
url = 'твоя ссылка из QIWI API'

headers = {
['Accept'] = 'application/json',
['Content-Type'] = 'application/json',
['Authorization'] = 'Bearer YUu2qw048gtdsvlk3iu'
}

httpRequest(url, headers=headers, function(response, code, headers, status) -- отправка самого запроса
    if response then
        print('Сервер принял запрос')
    else
        print('Произошла ошибка')
    end
end)
Рекомендую почитать статью по асинхронным запросам.
бот вк, взаимодействие с игрой, киви апи, там очень прикольно))
Попробую, отпишу. Спасибо!
 

Miron Diamond

Известный
Автор темы
252
163
QIWI API на Lua? Что-то новенькое. Полагаю, что так.
Lua:
url = 'твоя ссылка из QIWI API'

headers = {
['Accept'] = 'application/json',
['Content-Type'] = 'application/json',
['Authorization'] = 'Bearer YUu2qw048gtdsvlk3iu'
}

httpRequest(url, headers=headers, function(response, code, headers, status) -- отправка самого запроса
    if response then
        print('Сервер принял запрос')
    else
        print('Произошла ошибка')
    end
end)
Рекомендую почитать статью по асинхронным запросам.
[17:41:23.014350] (error) Seller Bot.lua: D:\Miron Diamond\[SAMP] Lua\moonloader\Seller Bot.lua:1046: ')' expected near '='
[17:41:23.014350] (error) Seller Bot.lua: Script died due to an error. (2A0350D4)
Ошибка. При любых значениях.
 

k1zn

О КУ)))
Всефорумный модератор
2,404
2,052
Последнее редактирование:
  • Нравится
Реакции: Miron Diamond

Miron Diamond

Известный
Автор темы
252
163
а это че за херня?
[19:08:03.532206] (error) Seller Bot: D:\Miron Diamond\[SAMP] Lua\moonloader\lib\copas.lua:17: you must require copas before require'ing socket.http
stack traceback:
[C]: in function 'error'
D:\Miron Diamond\[SAMP] Lua\moonloader\lib\copas.lua:17: in main chunk
[C]: in function 'require'
D:\Miron Diamond\[SAMP] Lua\moonloader\Seller Bot.lua:1101: in main chunk
[19:08:03.532206] (error) Seller Bot: Script died due to an error. (29B60AD4)
 

Vintik

Мечтатель
Проверенный
1,410
851
а это че за херня?
А так не работает?
Lua:
local copas = require 'copas'
local http = require 'copas.http'

url = 'твоя ссылка из QIWI API'
headers = {
['Accept'] = 'application/json',
['Content-Type'] = 'application/json'
['Authorization'] = 'Bearer YUu2qw048gtdsvlk3iu'
}

httpRequest(url, headers, function(response, code, headers, status)
    if response then
        print('Сервер принял запрос')
    else
        print('Произошла ошибка')
    end
end)
 

Miron Diamond

Известный
Автор темы
252
163
А так не работает?
Lua:
local copas = require 'copas'
local http = require 'copas.http'

url = 'твоя ссылка из QIWI API'
headers = {
['Accept'] = 'application/json',
['Content-Type'] = 'application/json'
['Authorization'] = 'Bearer YUu2qw048gtdsvlk3iu'
}

httpRequest(url, headers, function(response, code, headers, status)
    if response then
        print('Сервер принял запрос')
    else
        print('Произошла ошибка')
    end
end)
Выше отписывал, там ошибка при любых значениях.
 

Miron Diamond

Известный
Автор темы
252
163
А так не работает?
Lua:
local copas = require 'copas'
local http = require 'copas.http'

url = 'твоя ссылка из QIWI API'
headers = {
['Accept'] = 'application/json',
['Content-Type'] = 'application/json'
['Authorization'] = 'Bearer YUu2qw048gtdsvlk3iu'
}

httpRequest(url, headers, function(response, code, headers, status)
    if response then
        print('Сервер принял запрос')
    else
        print('Произошла ошибка')
    end
end)
Попробовал сделать всё в чистом скрипте, ну.. Я поставил headers в encodeJson и запрос хоть уже отправляется, но выходит ошибка: "Method is not supported". Вставил эту же ссылку в https.request(), там уже выводит нормальную ошибку про авторизацию.
 

Miron Diamond

Известный
Автор темы
252
163
попробуй так,
Lua:
options = {
method = "GET"
header = {
    ['Accept'] = 'application/json',
    ['Content-Type'] = 'application/json'
    ['Authorization'] = 'Bearer YUu2qw048gtdsvlk3iu'
    }
}
ну а потом закодировать options в json и передать параметром в функцию вместо headers
Запрос отправляется, но приходит ответ: "Method is not supported". Если эту же ссылку без изменений вставить в https.request(), там уже неавторизированный доступ. Нихуя не понимаю.
Lua:
require("moonloader")

copas = require 'copas'
http = require 'copas.http'

url = 'https://edge.qiwi.com/payment-history/v2/persons/228337/payments?rows=50'
options = {
method = "GET",
header = {
    ['Accept'] = 'application/json',
    ['Content-Type'] = 'application/json',
    ['Authorization'] = 'Bearer AneSkaZuHahHAAHA'
    }
}

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

httpRequest(url, encodeJson(options), function(response, code, headers, status)
  if response then
      print('Сервер принял запрос:')
            print(response)
  else
      print('Произошла ошибка!')
  end
end)