gpt4 book ai didi

java - 在java中轮询一个Http服务器(重复发送http get请求)

转载 作者:行者123 更新时间:2023-12-02 17:37:50 26 4
gpt4 key购买 nike

当对它进行 REST 调用时,我的 Web 服务器会发送一些信息。我想不断地轮询此服务器(在间隔 5 秒后重复发送 HTTP GET 请求)以检查返回的信息是否有任何变化。最有效的方法是什么?能否提供一些代码示例?

请注意,我只想开发客户端代码。

我试过如下使用 java 的 Timer 类 -

Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
//send HTTP requests
}
}, 0, 3000);

我不确定这是否是一种有效的方法。

最佳答案

使用 ApacheHttpClient 或任何其他 REST 客户端框架(如 Jersey、RestEasy 等)来调用 REST 服务。

但在这里我使用 ApacheHttpClient 调用 Rest 服务并将响应作为字符串获取

注意:阅读有关 HttpCore 和 HttpClient 的信息

Timer timer = new Timer();
timer.schedule(new TimerTask()
{
public void run()
{
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("Your Rest URL");

//add your headers if needed like this
httpGet.setHeader("Content-type", "application/xml");
httpGet.setHeader("Accept", "application/xml");

HttpResponse response = client.execute(httpGet);
HttpEntity httpEntity = response.getEntity();

//get response as String or what ever way you need
String response = EntityUtils.toString(httpEntity);
}
}, 0, 3000);

希望对您有所帮助!

关于java - 在java中轮询一个Http服务器(重复发送http get请求),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24550906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com