我想检查页面是否存在。我使用了以下代码:
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
不存在。页面增加,永不停止。我该如何解决这个问题?
答案 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;
}
不要忘记在后台线程中发送它作为任何其他网络操作。