Chapter02 网络(二) 获取Web数据
程序员文章站
2022-03-22 23:21:45
...
URI是统一标识符,URL是统一资源定位符。
在java类库中,URI类不包含访问资源的任何方法,唯一的作用是解析。
@Test
public 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/");
//获取相对uri
URI relativi=base.relativize(uri);
System.out.println(relativi);
//获取绝对的uri
URI absolute=base.resolve(relativi);
System.out.println(absolute);
}
测试URLConnection:
@Test
public 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来进行验证。
下一篇: php如何实现更新功能
推荐阅读
-
Python利用PyQt5制作一个获取网络实时NBA数据并播报的GUI程序
-
Java获取网络文件并插入数据库的代码
-
RXjava网络获取图片数据的方法
-
Ajax通过XML异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)
-
Android网络编程之获取网络上的Json数据实例
-
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
-
基于iOS的网络音视频实时传输系统(二)- 捕获音视频数据
-
AppCompatAutoCompleteTextView自动补全, 实时动态获取网络数据
-
Zabbix如何通过ssh监控获取网络设备数据
-
Antd中Table控件呈现网络获取的json数据(教程)