String s="http://www.some.com"; //设定一个url字串
try{
URL url=new URL(s); //初始化一个URL对象
}catch(MalformedURLException e){ //如果字串不是合法的url,则抛出异常
e.printStackTrace();
}
try{
URL url=new URL(s); //初始化一个URL对象
}catch(MalformedURLException e){ //如果字串不是合法的url,则抛出异常
e.printStackTrace();
}
解决方案 »
- 序列化的接口Serializable有什么作用
- 用java怎样验证邮件地址是否是真实可用的
- 帮我看下这个applet程序
- 大家好! 我想请教一下 java swing 能出widget (鱼鱼秀)的东东吗?有会的 请赐教!
- 麻烦各位高手清问在Eclispe3。1下面如何安装lomboz插件,我现在都快急死了,周末搞了一天硬是没有搞出来
- 为什么我的windows98在运行java的时候老报JNI接口失败的错误?
- 看看这段代码
- 高手请问能否将applet中的画布上的一部分保存成一个.jpg文件?提些想法吧!
- 有谁能详细讲一下hashcode的主要用途和具体用法啊?
- 请教页面刷新问题
- 访问mysql时的中文显示问题,大侠帮帮小弟
- 菜鸟不耻上问:java 中有If then else 语句么,如果有,请问怎么实现?
public class TestUrl
{
public static void main(String args[])
{
try
{
URL url=new URL("http://community.csdn.net/Expert/topic/3564/3564496.xml?temp=.6232416");
System.out.println(url.getProtocol()+" "+url.getHost()+" "+url.getPort()+" "+url.getPath()+" "+url.getQuery()+" "+url.getRef());
}
catch(Exception e)
{
e.printStackTrace();
}
}
}你得自己分析protocal,host,path等等是否合乎要求。
另外,chanceqw兄,如果URL url=new URL("http://www.我是非法的.com");并不会抛出异常。
InputStream is=url.openStream();
如果不可达,则会抛出IOException
这和"http://www.google.com/一个不存在的页面.htm"是类似的,只不过不存在而已。
下面这个URL也应该是合法的吧?
http:
http://archive.ncsa.uiuc.edu/SDG/Software/Mosaic/Demo/url-primer.html以下的都可以是合法的url
gopher://gopher.yoyodyne.com/
news:rec.gardening
http://www.yoyodyne.com:1234/pub/files/foobar.html
/E:/some_folder/some_file.txt没有抛出异常的都可以认为是wellformed,但是wellformed并不一定是有效的
其实"http:dfsfsf"、甚至"http:"完全符合url字串的规则,只不过它不是一个有效的HTTP URL字串
url并非单纯指http的链接。所以,如果只是用于http,因为范围缩小,那只好自己先验证(可以使用正则表达式),然后再提交给URL看看是否可达了