Java呼び出しサードパーティインタフェースツールクラス(json、form)
12982 ワード
1、JSON値アクセス
/**
*
* @param path
* @param data , JSON
*/
public static void interfaceUtil(String path,String data) {
try {
URL url = new URL(path);
// url
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//
conn.setRequestMethod("POST");
//
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
//
conn.setDoOutput(true);
//
conn.setDoInput(true);
// ,
OutputStream outputStream = conn.getOutputStream();
outputStream.write(data.getBytes("UTF-8"));
// URLConnection
InputStream is = conn.getInputStream();
//
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String str = "";
while ((str = br.readLine()) != null) {
System.out.println(str);
}
String response = byteArrayOutputStream.toString();
System.out.println(response);
//
is.close();
// , ,disconnect tcp socket 。 。
// , disconnect, , 。 disconnect 。
conn.disconnect();
System.out.println(" ");
} catch (Exception e) {
e.printStackTrace();
}
}
2、formフォーム形式提出key-value値アクセス
key-value値を1つのMapに入れる
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.log4j.Logger;
/**
*
* @author wxd
*/
public class InterfaceUtil {
private static final Logger logger = Logger.getLogger(InterfaceUtil.class);
private static final int REQUEST_SUCCESS = 200;
/**
*
* @param path
* @param data , JSON
*/
public static void postRequest(String path, Map params) {
OutputStream outputStream = null;
InputStream is = null;
HttpURLConnection conn = null;
URL url = null;
try {
//
StringBuffer sb = new StringBuffer();
String sbRlt = null;
if (params != null) {
for (Entry e : params.entrySet()) {
sb.append(e.getKey());
sb.append("=");
sb.append(e.getValue());
sb.append("&");
}
sbRlt = sb.substring(0, sb.length() - 1);
}
url = new URL(path);
// url
conn = (HttpURLConnection) url.openConnection();
//
conn.setRequestMethod("POST");
//
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
//
conn.setDoOutput(true);
//
conn.setDoInput(true);
// ,
outputStream = conn.getOutputStream();
outputStream.write(sbRlt.getBytes("UTF-8"));
// URLConnection
is = conn.getInputStream();
if(conn.getResponseCode() == REQUEST_SUCCESS) {
//
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String str = "";
while ((str = br.readLine()) != null) {
logger.info(str);
System.out.println(str);
}
}else {
logger.error(" ");
System.out.println(" ");
}
} catch (Exception e) {
logger.error(" ");
e.printStackTrace();
} finally {
if(is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(outputStream != null) {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(conn != null) {
conn.disconnect();
}
}
}
}