1.拿到接口文档
首先我们会得到第三方公司的接口文档,我们会依据其中的规范去做请求的参数或者获取加密手段
2.代码实践
需求
package com.seeyon.apps.hd.controller;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import net.sf.json.JSONObject;
public class JSONJavaHttpDemo {
//传递url
public static final String ADD_URL = " 这里填写接口文档访问的url";
public static void appadd() {
try {
// 创建连接
URL url = new URL(ADD_URL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
//设置请求头
connection.setRequestProperty("Content-Type", "application/json");
connection.connect();
// POST请求,包装成json数据
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
JSONObject obj = new JSONObject();
obj.element("app_name", "asdf");
obj.element("app_ip", "10.192.203.46");
obj.element("app_port", 8080);
obj.element("app_type", "001");
obj.element("app_area", "asd");
out.writeBytes(obj.toString());
out.flush();
out.close();
// 读取响应
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String lines;
StringBuffer sb = new StringBuffer("");
while ((lines = reader.readLine()) != null) {
lines = new String(lines.getBytes(), "utf-8");
sb.append(lines);
}
System.out.println(sb);
reader.close();
// 断开连接
connection.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
appadd();
}
}