HttpURLconnection 标准Java接口(java.NET),可以实现简单的基于URL请求、响应功能,Google建议使用httpURLconnection进行网络访问操作。
HttpURLconnection 是基于http协议的,支持get,post,put,delete等各种请求方式
测试post请求
public static void post() {
try{
HttpURLConnection conn = (HttpURLConnection) new URL("http://localhost:8081/admin/query2").openConnection();
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type","application/json");
JSONObject bodyMap = new JSONObject();
bodyMap.put("username", "xiaoming");
bodyMap.put("password", "123");
bodyMap.put("email","@163.com");
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(conn.getOutputStream());
outputStreamWriter.write(bodyMap.toString());
outputStreamWriter.close();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder stringBuilder = new StringBuilder();
String line = null;
while ((line = reader.readLine())!= null) {
stringBuilder.append(line);
}
reader.close();
System.out.println(stringBuilder);
}catch (Exception e){
e.printStackTrace();
}
}
测试get
public static void get() {
try {
//请求
HttpURLConnection conn = (HttpURLConnection) new URL("https://www.baidu.com").openConnection();
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
while ((line = reader.readLine())!= null) {
System.out.println(line);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
使用代理
public static void proxy() {
try {
//设置代理
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("39.xxx.xxx.29", 808));
//请求
HttpURLConnection conn = (HttpURLConnection) new URL("https://www.baidu.com").openConnection(proxy);
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
while ((line = reader.readLine())!= null) {
System.out.println(line);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}