Chapter02 网络(二) 获取Web数据

来源:互联网 发布:c语言中的temp 编辑:程序博客网 时间:2024/06/06 01:15

URI是统一标识符,URL是统一资源定位符。


在java类库中,URI类不包含访问资源的任何方法,唯一的作用是解析。

@Testpublic void testURL() throws IOException, URISyntaxException{//创建URL对象URL url=new URL("http://tool.chinaz.com/port/");//获取URL的资源内容InputStream in=url.openStream();//构建Scanner对象,读出资源Scanner s=new Scanner(in);while(s.hasNext()){String line=s.nextLine();System.out.println(line);}//对于URI进行分层解析String authority=url.getAuthority();System.out.println(authority);int port=url.getPort();System.out.println(port);System.out.println(url.getUserInfo());System.out.println(url.getHost());System.out.println(url.getProtocol());//相对化操作URI uri=new URI("http://tool.chinaz.com/port/");URI base=new URI("http://tool.chinaz.com/");//获取相对uriURI relativi=base.relativize(uri);System.out.println(relativi);//获取绝对的uri    URI absolute=base.resolve(relativi);    System.out.println(absolute);}
测试URLConnection:

@Testpublic void testConnection() throws IOException{//创建URL对象URL url=new URL("http://tool.chinaz.com/port/");//调用URL类中的openConnection来获取URLConnection对象URLConnection conneciton=url.openConnection();//设置超时连接conneciton.setConnectTimeout(100);//连接远程资源,除了与服务器建立套接字连接外,该方法还可用于向服务器查询头信息。conneciton.connect();//内容类型String contentType=conneciton.getContentType();//返回包含信息头所有字段的标准Map对象Map<String,List<String>> heads=conneciton.getHeaderFields();for (Map.Entry<String,List<String>> entry : heads.entrySet()) {String key=entry.getKey();System.out.print("key:"+key+" ");List<String> values=entry.getValue();String value="";for (String temp : values) {value+=temp+" ";}System.out.println("value:"+value);}}



使用SMTP发送电子邮件:

由于现在需要实现验证,人工验证显得比较繁琐,这里使用JAVAMail API来进行验证。


原创粉丝点击