任何人都知道吗?我需要发送一个http请求,并确保我收到的http响应不是http 500
答案 0 :(得分:3)
我相信Hyperic HQ符合您的所有条件。它是开源的,我相信它至少部分用Java编写,它旨在进行各种服务器监控。
它不仅应该能够处理您请求的监控类型,还能够处理服务器上的内存,CPU使用率和磁盘空间等其他必要的监控。
答案 1 :(得分:0)
您可以使用httpunit - 以网络为中心的单元测试
答案 2 :(得分:0)
用Java编写,HttpUnit模拟浏览器行为的相关部分,包括表单提交,JavaScript,基本http身份验证,cookie和自动页面重定向,并允许Java测试代码将返回的页面检查为文本,XML DOM或表格,表格和链接的容器。当与JUnit等框架结合使用时,编写非常快速验证网站功能的测试非常容易。
HtmlUnit是“用于Java程序的GUI-Less浏览器”。它模拟HTML文档,并提供一个API,允许您调用页面,填写表单,单击链接等...就像在“普通”浏览器中一样。
它具有相当好的JavaScript支持(不断改进),即使使用非常复杂的AJAX库也可以工作,根据您要使用的配置模拟Firefox或Internet Explorer。
答案 3 :(得分:0)
如果您想自己这样做,Apache HttpClient是一个选项:
GetMethod get = new GetMethod("http://www.stackoverflow.com");
try
{
int resultCode = client.executeMethod(get);
if (resultCode == 500)
{
//do something meaningful here
} // if
} // try
catch (Exception e)
{
e.printStackTrace();
}
finally
{
get.releaseConnection();
}
答案 4 :(得分:0)
当你找到它时,你可以使用它:
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.IOException;
public class SimplisticMonitor {
public static void main( String [] args ) throws IOException {
HttpURLConnection c = ( HttpURLConnection )
new URL( "http://stackoverflow.com" ).openConnection();
System.out.println( c.getResponseCode() );
}
}