以下代码展示了如何以POST方式向服务器发送数据并获取返回值。
package java1_javaProject;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
public class HttpUrlConnectionEx {
public final String USER_AGENT="Mozilla/5.0";
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
HttpUrlConnectionEx huc=new HttpUrlConnectionEx();
System.out.println("\nTesting 2 - send Http POST request");
huc.sendPost();
}
private void sendPost() throws Exception{
String url ="https://localhost:9411/Default.aspx";
URL obj=new URL(url);
HttpsURLConnection con=(HttpsURLConnection)obj.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("User-Agent", USER_AGENT);
con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
String urlParameters="name=qiuqiu&phone=11111";
con.setDoOutput(true);
DataOutputStream wr=new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
int responseCode=con.getResponseCode();
System.out.println("\nSending 'POST' request to URL :"+url);
System.out.println("Post Parameters :"+urlParameters);
System.out.println("Response Code :"+responseCode);
BufferedReader in =new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response=new StringBuffer();
while((inputLine=in.readLine())!=null){
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
}
}