一、首先是用HttpURLConnection来分别构造GET和POST请求,代码如下
package com.siwen.net;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Enumeration;
public class TestURL {
private static String getLocalHostIP(){
String hostip = "";
Enumeration<NetworkInterface> allNetInterfaces = null;
try {
allNetInterfaces = NetworkInterface.getNetworkInterfaces();
} catch (SocketException e) {
e.printStackTrace();
}
InetAddress ip = null;
while (allNetInterfaces.hasMoreElements()){
NetworkInterface netInterface = allNetInterfaces.nextElement();
// System.out.println("netInterface:"+netInterface.getName());
Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements()){
ip = addresses.nextElement();
// System.out.println("InetAddress from "+netInterface.getName()+":"+ip);
if (ip != null && ip instanceof Inet4Address){
if(!ip.getHostAddress().equals("127.0.0.1")){
hostip = ip.getHostAddress();
}
}
}
}
// System.out.println("final hostip:"+hostip);
return hostip;
}
public static void readContentFromGet() throws IOException{
String getURL = "http://"+getLocalHostIP()+":8080/jobticket/sendJobticket?alarmid=test&userName="+URLEncoder.encode("中文", "utf-8")+"&title="+URLEncoder.encode("新告警","utf-8")+"&OperationNotes="+URLEncoder.encode("New Alarm Arrival","utf-8");
URL url = new URL(getURL);
System.out.println("url:"+url);
// 根据拼凑的URL,打开连接,URL.openConnection函数会根据URL的类型返回不同的URLConnection子类的对象,
// 这里URL是一个http,因此实际返回的是HttpURLConnection
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestProperty("Charset", "UTF-8");
// 进行连接,但是实际上get request要在下一句的connection.getInputStream()函数中才会真正发到服务器
connection.connect();
// 取得输入流,并使用Reader读取
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));
System.out.println("=============================");
System.out.println("Contents of get request");
System.ou