作者VVll (信)
看板AndroidDev
标题[问题] URI/URL检查
时间Thu May 3 16:52:35 2012
假如有一个使用者输入的字串结果为
String s1 = "
http://www.google.com";
String s2 = "
http://hello";
请问我要如何辨识 s1,s2 是否为正确的URI/URL
辨识结果应该为
s1->true
s2->false
查询了跟URI相关的资料 都找不到能呈现我期望结果~"~
------------------------------------------------
找到一个解决方法 透过网路连线去做验证 不过有没有更简单的做法 谢谢
首先在AndroidManifest.xml中开啓网路权限
<uses-permission android:name="android.permission.INTERNET" />
code部分
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet httpget;
String result = "false";
try{
httpget = new HttpGet(new URI(s));
HttpResponse resp = httpClient.execute(httpget);//开始连线
java.io.BufferedReader buf =
new java.io.BufferedReader(
new java.io.InputStreamReader(
resp.getEntity().getContent()));
if(buf != null)
ss = "true";
}catch(Exception ex){}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.0.1
1F:→ jacktoad:android.webkit.URLUtil 的 isValidUrl ? 05/03 17:06
URLUtil.isValidUrl(url) 是一个非常不准确地判断检查
"
http://hello" ->true
"www.google.com"->false
感觉是单纯的字串检查 所以准确度很差 但我找到的解决方法是透过网路连线
会有cpu busy waiting的问题
※ 编辑: VVll 来自: 118.170.0.1 (05/04 12:53)
4F:→ rj9rj9123:用http连连看吧!得到HttpCode是200就判断他是正确的 05/07 12:26
5F:→ VVll:请问楼上 你说的HTTP连线的方法 如何做? 05/07 15:10