java原生HttpURLConnection
get方法请求
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class TomcatExplosion {
public static void main(String args[]) throws IOException {
URL url = new URL("http://www.runoob.com/index.html?language=cn#j2se");
// 返回url路径部分
System.out.println(url.getPath());
// 返回url查询部分
System.out.println(url.getQuery());
// 获取此url的授权部分
System.out.println(url.getAuthority());
// 获取url端口部分
System.out.println(url.getPort());
// 返回协议的默认端口
System.out.println(url.getDefaultPort());
// 返回url的协议
System.out.println(url.getProtocol());
// 返回url的主机
System.out.println(url.getHost());
// 返回url文件名部分
System.out.println(url.getFile());
// 返回此url的锚点
System.out.println(url.getRef());
// 通过远程url连接对象打开一个连接,强转成httpURLConnection类
HttpURLConnection con = (HttpURLConnection) url.openConnection();
// 使用get方法请求
con.setRequestMethod("GET");
// 提交header
con.setRequestProperty("Host","www.runoob.com");
// 设置连接服务器的超时时间为15000毫秒
con.setConnectTimeout(15000);
// 设置读取数据返回的数据时间为60000毫秒
con.setReadTimeout(60000);
// 发送请求
con.connect();
//输出服务器返回的状态码
System.out.println(con.getResponseCode());
//输出客户端请求服务器的方法
System.out.println(con.getRequestMethod());
//返回 URLConnection 对象连接的URL
System.out.println(con.getURL());
// 获取输入流
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String urlString = "";
String current;
while ((current = in.readLine()) != null){
urlString += current;
}
System.out.println(urlString);
}
}
post方法请求
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class TomcatExplosion {
public static void main(String args[]) throws IOException {
URL url = new URL("http://www.runoob.com/index.html?language=cn#j2se");
// 返回url路径部分
System.out.println(url.getPath());
// 返回url查询部分
System.out.println(url.getQuery());
// 获取此url的授权部分
System.out.println(url.getAuthority());
// 获取url端口部分
System.out.println(url.getPort());
// 返回协议的默认端口
System.out.println(url.getDefaultPort());
// 返回url的协议
System.out.println(url.getProtocol());
// 返回url的主机
System.out.println(url.getHost());
// 返回url文件名部分
System.out.println(url.getFile());
// 返回此url的锚点
System.out.println(url.getRef());
// 通过远程url连接对象打开一个连接,强转成httpURLConnection类
HttpURLConnection con = (HttpURLConnection) url.openConnection();
// 使用post方法请求
con.setRequestMethod("POST");
// 提交header
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// 设置连接服务器的超时时间为15000毫秒
con.setConnectTimeout(15000);
// 设置读取数据返回的数据时间为60000毫秒
con.setReadTimeout(60000);
//默认值为:false,当向远程服务器传送数据/写数据时,需要设置为true
con.setDoOutput(true);
// 通过连接对象获取一个输出流
OutputStream os = con.getOutputStream();
String param = "id=1";
os.write(param.getBytes());
// 发送请求
con.connect();
//输出服务器返回的状态码
System.out.println(con.getResponseCode());
//输出客户端请求服务器的方法
System.out.println(con.getRequestMethod());
//返回 URLConnection 对象连接的URL
System.out.println(con.getURL());
// 获取输入流
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String urlString = "";
String current;
while ((current = in.readLine()) != null){
urlString += current;
}
System.out.println(urlString);
}
}