这篇文章主要介绍了如何基于java或js获取URL返回状态码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
描述:使用java或者js访问某个网站,返回状态码
1.java实现
// 用getResponseCode可以获取URL返回状态码 String surl = ""; try { surl="你的url"; URL url = new URL(surl); URLConnection rulCOnnection= url.openConnection(); HttpURLConnection httpUrlCOnnection= (HttpURLConnection) rulConnection; httpUrlConnection.setConnectTimeout(300000); httpUrlConnection.setReadTimeout(300000); httpUrlConnection.connect(); String code = new Integer(httpUrlConnection.getResponseCode()).toString(); String message = httpUrlConnection.getResponseMessage(); System.out.println("getResponseCode code ="+ code); System.out.println("getResponseMessage message ="+ message); if(!code.startsWith("2")){ throw new Exception("ResponseCode is not begin with 2,code="+code); } System.out.println(getCurDateTime()+"连接"+surl+"正常"); }catch(Exception ex){ System.out.println(ex.getMessage()); }
2.js实现(成功会返回200,如果页面找不到会返回404)
function GetHttpStatusCode($url){ $curl = curl_init(); curl_setopt($curl,CURLOPT_URL,$url);//获取内容url curl_setopt($curl,CURLOPT_HEADER,1);//获取http头信息 curl_setopt($curl,CURLOPT_NOBODY,1);//不返回html的body信息 curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//返回数据流,不直接输出 curl_setopt($curl,CURLOPT_TIMEOUT,30); //超时时长,单位秒 curl_exec($curl); $rtn= curl_getinfo($curl,CURLINFO_HTTP_CODE); curl_close($curl); return $rtn; } $url = "http://www.baidu.com"; GetHttpStatusCode($url);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。