一、URL的使用:
1.创建URL对象。
URL url=new URL(String spec);
2.URL的常用方法。
String getFile(); //获得URL的资源名。
String getHost(); //获得URL的主机名。
String getPath(); //获得URL的路径部分。
int getPort(); //获得URL的端口号。
String getProtocol(); //获得URL的协议名称。
URLConnection openConnection(); //返回一个URLConnection对象。
InputStream openStream(); //获取该URL的输入流。
二、URLConnection的使用:
1.发送GET方式请求。
①通过URL来获得URLConnection对象。
URLConnection conn =url.openConnection();
②设置通用的请求参数,必须在建立连接之前。
setRequestProperty(String key,String value); //设置请求参数
addRequestProperty(String key,String value); //添加头字段,不会覆盖原请求头字段的值,而是追加到原来的请求字段中。
//通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; windows NT 5.1; SV1)");
③建立实际的连接。
conn.setReadTimeout(int timeout); //设置读取的超时时长,默认为0。
conn.setConnectTimeout(int timeout); //设置连接的超时时长,默认为0.
conn.connect();
④URLConnection的一些常用方法。
setAllowUserInteraction(boolean allows); //设置是否允许用户交互。
setUseCaches(boolean newValue); //设置是否允许使用缓存。
String getHeaderField(String name); //获取指定响应头字段的值。
Map<String,List<String>> getHeaderFields(); //获取全部的响应头字段。
int getContentLength() ; //获取指定的内容长度。
2.发送POST方式请求。
①②步相同。
③发送POST请求必须设置如下两行。
conn.setDoOutput(true);
conn.setDoInput(true);
④当需要同时使用输入流与输出流时,必须先使用输出流,再使用输入流。
PrintStream ps =new PrintStream(conn.getOutputStream());
ps.print(param); //发送请求参数
ps.flush();
3.GET方式与POST方式的区别:
GET请求:获取静态页面,参数一般加在URL后面。如:url+"?"+"name1=value1&name2=value2"。
POST请求:获取动态页面,请求参数通过输出流发送。
三、HttpURLConnection的使用:
1.HttpURLConnection继承了URLConnection,所以URLConnection的方法都可以用,HttpURLConnection增加了如下方法。
int getResponseCode(); //获取服务器的响应码,200代表请求成功,404代表访问资源失败,500代表服务器出问题。
String getResponseMessage(); //获取服务器的响应消息。
String getRequestMethod(); //获取获取发送请求的方法。
void setRequestMethod(String method); //设置发送请求的方法,GET或者POST,必须大写。