java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java URL返回

如何基于java或js获取URL返回状态码

作者:农名工进城

这篇文章主要介绍了如何基于java或js获取URL返回状态码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了如何基于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);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文