1. 程式人生 > >POST提交(進階版)

POST提交(進階版)

adl .net stream lin tools charset connect tin buffer

package com.jm.label.tools;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;

public class POST {
/**
* POST提交
* @param requestUrl 請求的URL
* @param payload  請求的JSON參數

* @return
*/
public static String sendPostRequest2(String requestUrl, String payload) {
StringBuffer jsonString = new StringBuffer();
HttpURLConnection connection=null;
BufferedReader br=null;
try {
URL url = new URL(requestUrl);
connection = (HttpURLConnection) url.openConnection();

connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
connection.setReadTimeout(60000);
connection.setConnectTimeout(60000);

OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
writer.write(payload);
writer.close();
br = new BufferedReader(new InputStreamReader(connection.getInputStream()));

String line;
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
br.close();
connection.disconnect();

}catch(Exception e){
System.out.println(requestUrl+"-------"+payload);
br = new BufferedReader(new InputStreamReader(connection.getErrorStream()) );
String line;
try {
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
} catch (IOException e1) {
e1.printStackTrace();
}
}finally{

connection.disconnect();
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return jsonString.toString();
}

}

POST提交(進階版)