Cleverbot API调用偶尔会返回400。即使输入相同

时间:2016-02-16 17:58:02

标签: javascript jquery api rest web

我正在使用cleverbot.io API尝试通过将其结果包装在Yandex机器翻译API中来构建西班牙语机器人。

Cleverbot的API通常会返回400错误,但我无法追踪原因。 Here是错误的屏幕截图。

我提出请求的代码基于cleverbot.io提供的代码示例:

function submitMessage() {
   var start = new Date().getTime();
   var x = $("#message").val(); // get user's message
   input.push(x); // push to array of inputs
   // append to HTML
   var x2 = '<div class="panel"><h5>Username @ date/time</h5><p>' + x + '</p></div>';
   console.log("input: " + x);
   $(".messages").append(x2); // add new response
   $(".mSent").html(input.length);

   bot.ask(x, function (err, response) { // collect ouput
         // CATCH 400 error and return message "I don't understand, please ask something else!"
         var y = response;
         console.log("output: " + y);
         output.push(y); // store output in output array
         var y2 = '<div class="panel callout"><h5>Juarez @ date/time</h5><p>' + y + '</p></div>';
         $(".messages").append(y2); // add new response
         $(".mRec").html(output.length);
        var end = new Date().getTime();
        var time = end - start;
        totalTime += time;
        avgTime = (totalTime / (input.length + output.length));
        $(".mTime").html(avgTime.toFixed(1));
    });
   $("#message").val(''); // reset input form
}

根据我对本网站及其他网站的研究,我认为400错误通常会因为网址格式错误而导致错误请求。但是,正如您在屏幕截图中看到的那样 - 一些请​​求是相同的,一个将通过,而另一个请求不会。

如果有人能够提供一小段代码,描述使用从网络表单收集的输入调用此API的更好方法,我们将不胜感激。

0 个答案:

没有答案