(Patterns.WEB_URL.matcher(url).matches()无法正常工作

时间:2015-08-05 09:33:01

标签: java android

我想检查页面是否存在。我使用了以下代码:

 url = "https://muslimmemo.com/page/" + ++page;

            if (Patterns.WEB_URL.matcher(url).matches())
            {
                Log.d("response","the url exists. page is " + page);
                Title title = new Title(getApplicationContext());
                title.execute();
            }
            else
            {
                Log.d("response","the url does not exist.");
            }

在上面的代码中,if条件始终为true,尽管https://muslimmemo.com/page/7不存在。页面增加,永不停止。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

  

Patterns.WEB_URL.matcher(URL).matches()

仅检查网址是否具有有效语法,即网址如:000:/some.url无效。

如果要检查服务器上是否存在url,可以发送一个简单的GET请求,如下所示:

public boolean exists(String url){
    HttpURLConnection huc =  ( HttpURLConnection )  url.openConnection (); 
    huc.setRequestMethod ("GET");  //OR  huc.setRequestMethod ("HEAD"); 
    huc.connect () ; 
    int code = huc.getResponseCode() ;

    if(code==200)
      return true;
    else
      return false;
}

不要忘记在后台线程中发送它作为任何其他网络操作。