共計(jì) 2525 個(gè)字符,預(yù)計(jì)需要花費(fèi) 7 分鐘才能閱讀完成。
在 Java 中調(diào)用 POST 接口,可以使用以下幾種方法:
1. 使用 Java 原生的 HttpURLConnection 類(lèi)發(fā)送 POST 請(qǐng)求:
“`java
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpPostExample {
public static void main(String[] args) {
try {
String url = “http://example.com/api/endpoint”;
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 設(shè)置請(qǐng)求方法為 POST
con.setRequestMethod(“POST”);
// 設(shè)置請(qǐng)求頭部信息
con.setRequestProperty(“Content-Type”, “application/json”);
con.setRequestProperty(“User-Agent”, “Mozilla/5.0”);
// 設(shè)置 POST 請(qǐng)求體參數(shù)
String postData = “{\”key1\”:\”value1\”,\”key2\”:\”value2\”}”;
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(postData);
wr.flush();
wr.close();
// 獲取響應(yīng)結(jié)果
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 打印響應(yīng)結(jié)果
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
“`
2. 使用第三方庫(kù) Apache HttpClient 發(fā)送 POST 請(qǐng)求:
“`java
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
public class HttpPostExample {
public static void main(String[] args) {
try {
String url = “http://example.com/api/endpoint”;
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
// 設(shè)置請(qǐng)求頭部信息
httpPost.setHeader(“Content-Type”, “application/json”);
httpPost.setHeader(“User-Agent”, “Mozilla/5.0”);
// 設(shè)置 POST 請(qǐng)求體參數(shù)
String postData = “{\”key1\”:\”value1\”,\”key2\”:\”value2\”}”;
StringEntity entity = new StringEntity(postData);
httpPost.setEntity(entity);
// 發(fā)送 POST 請(qǐng)求
HttpResponse response = httpClient.execute(httpPost);
HttpEntity responseEntity = response.getEntity();
// 獲取響應(yīng)結(jié)果
String responseString = EntityUtils.toString(responseEntity);
// 打印響應(yīng)結(jié)果
System.out.println(responseString);
} catch (Exception e) {
e.printStackTrace();
}
}
}
“`
上述代碼中的 `url` 為 POST 接口的地址,`postData` 為 POST 請(qǐng)求體參數(shù),根據(jù)接口的要求進(jìn)行設(shè)置。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!