使用servlet

时间:2016-10-22 21:30:55

标签: javascript servlets bots telegram

我刚刚在大学学习了Servlet和JSP,而我现在正试图在Telegram中创建一个机器人,因为在网上阅读时,机器人可以通过get / post请求进行管理。 我不知道为什么,但我在网上没有找到任何关于使用Servlet制作机器人的问题,而且我的学校没有告诉我们如何将http请求发送到位于某处的服务器在网络上(只是localhost)。 所以,问题是:我可以向网络上的服务器发送请求吗?具体来说,我可以发送至少一个" getMe请求"用servlet?

我的想法是Eclipse,而且我已经完成了这件事:

编写一个jsp页面,其行如下:

<button type="button" onclick="getme()">Hi</button>

然后,编写一个js页面,其中包含一些简单的代码行:

function getme(){

  var xhr = getXmlHttpRequest();

  xhr.open("GET", "https://api.telegram.org/mytoken/getMe, true);
  xhr.onreadystatechange = function(){
    if(xhr.readyState == 4){
        alert("ok");
        var try = JSON.parse(xhr.responseText);

        alert(try);
    }
   }

   xhr.send();
} 

此代码无效。 &#34; ok&#34;将显示警报,但警报&#34;尝试&#34;而不是。 Firefox的控制台只是告诉我JSON解析中的数据结束:

SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data

所以,我认为这个要求并非如此。 我的问题是:我能做些什么来发送这个非常简单的请求?在网络上托管我的客户?

非常感谢大家!

1 个答案:

答案 0 :(得分:0)

我刚刚解决了! 问题是我必须在我的令牌机器人之前放置“僵尸”。 所以,正确的字符串是:

https://api.telegram.org/“bot”+ mytoken / getMe

之前写过,响应文本是一个html页面,而不是JSON数据,所以JSON解析给了我一个恐怖,因为它没有找到正确的JSON字符串。

感谢大家,感谢您关注我的帖子!

PS:非常感谢Postman让我知道请求的正确回应。