java中的接口是类吗
445
2023-02-26
基于java URL和URLConnection(详解)
URL类将URL地址封装成对象,提供了解析URL地址的方法,如获取uri部分、host部分、端口等。
URLConnection则是URL对象和Socket连接给结合起来了,使得可以更轻松地获取发起URL请求的连接套接字。
1.Uhttp://RL
import java.net.MalformedURLException;
import java.net.URL;
public class URLDemo {
public static void main(String[] args) throws MalformedURLException {
URL url = new URL("http://192.168.0.124:8080/webapp/index.html?name=lisi");
int port = url.getPort();
String host = url.getHost();
String uri_path = url.getPath();
String request_file = url.getFile();
String query = url.getQuery();
System.out.println("host: "+ host);
System.out.println("port: "+ port);
System.out.println("uri_path: "+ uri_path);
System.out.println("request_file: "+ request_file);
System.out.println("query: "+ query);
}
}
2.URLConnection
通过URL的openConnection()方法可以获取URLConnection对象,这个对象是面对这个URL的连接。
也就是说,这个对象其实是一个已连接套接字,它不仅具有解析http响应报文的功能,还具有套接字的相关功能(例如获取输入流、输出流等)。
仅就解析对象来说,URL对象解析的是URL地址,可以看作是解析http请求报文(如getPort(),getFile()等),而URLConnection则解析的是http响应报文(如getLastModified(),getHeaderFields()等)。
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class URLConnectionDemo {
public static void main(String[] args) {
try {
URL url = new URL("https://baidu.com/");
URLConnection urlc = url.openConnection();
System.out.println(urlc.getURL()); //解析http响应报文
InputStream is = urlc.getInputStream();
byte[] buf = new byte[1024];
int len = 0;
while((len=is.read(buf))!=-1) {
System.out.println(new String(buf,0,len));
}
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
http://
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~