我刚刚在大学学习了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
所以,我认为这个要求并非如此。 我的问题是:我能做些什么来发送这个非常简单的请求?在网络上托管我的客户?
非常感谢大家!
答案 0 :(得分:0)
我刚刚解决了! 问题是我必须在我的令牌机器人之前放置“僵尸”。 所以,正确的字符串是:
https://api.telegram.org/“bot”+ mytoken / getMe
之前写过,响应文本是一个html页面,而不是JSON数据,所以JSON解析给了我一个恐怖,因为它没有找到正确的JSON字符串。
感谢大家,感谢您关注我的帖子!
PS:非常感谢Postman让我知道请求的正确回应。