Как обратиться к стороннему сайту и получать ответ без API?

Рейтинг: 0Ответов: 1Опубликовано: 29.05.2023

Есть сайт нейронки, BAI Chat. Хочу получать ответы на запросы, не заходя на него. Допустим, у меня есть на моем сайте какое то поле, я нажимаю кнопку, в поле возвращается результат (ответ чата). Реально ли это сделать без API ?

На одном ресурсе мне посоветовали сделать следующее:

Сделать POST запрос на https://chatbot.theb.ai/api/chat-process с пейлоадом в виде {"prompt":"what are u?","options":{}}, получаешь ответ в виде base64 строки. Декодируешь её и читаешь последний объект (там несовсем джейсон, поэтому сплитишь и берёшь последний .split('\n').at(-1) и потом уже его парсишь в джейсон).

Я не силен в программировании, но написал на Jquery следующий код запроса:

$('#test').click(function(){  
  $.post(
    "https://chatbot.theb.ai/api/chat-process",
    {
      "prompt": "what are u?",
      "options": {}
    },
    function(data){
      console.log(data);
    }  
  );
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="test">Test</button>

В консоль возвращается такая строка:

{"message":"Message is empty","data":null,"status":"Fail"}

Что я делаю не так?

Ответы

▲ 1Принят

Учтите, данный API сервис платный, есть дневной лимит на использование - 30 мин

$.ajax({
    url: 'https://chatbot.theb.ai/api/chat-process',
    type: 'post',
    // json превращаем в строку запроса
    data: JSON.stringify({
      options: {},
      prompt: "what are u?"
    }),
    headers: {
        'Content-Type': 'application/json',
    },
    success: function (data) {
        console.info(data);
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>