Java如何調(diào)用HTTP接口
Java調(diào)用HTTP接口
說(shuō)明
Java調(diào)用HTTP接口可以使用Java的HttpURLConnection或HttpClient等工具
HttpURLConnection
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class HttpExample {
public static void main(String[] args) throws Exception {
// 創(chuàng)建URL對(duì)象
URL url = new URL("http://example.com/api");
// 創(chuàng)建HttpURLConnection對(duì)象
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// 設(shè)置請(qǐng)求方法為GET
conn.setRequestMethod("GET");
// 發(fā)送請(qǐng)求
int responseCode = conn.getResponseCode();
// 讀取響應(yīng)內(nèi)容
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 打印響應(yīng)內(nèi)容
System.out.println(response.toString());
}
}HttpClient
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class HttpExample {
public static void main(String[] args) throws Exception {
// 創(chuàng)建HttpClient對(duì)象
HttpClient client = HttpClientBuilder.create().build();
// 創(chuàng)建HttpGet對(duì)象
HttpGet request = new HttpGet("http://example.com/api");
// 發(fā)送請(qǐng)求
HttpResponse response = client.execute(request);
// 讀取響應(yīng)內(nèi)容
BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String inputLine;
StringBuffer responseBuffer = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
responseBuffer.append(inputLine);
}
in.close();
// 打印響應(yīng)內(nèi)容
System.out.println(responseBuffer.toString());
}
}
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java如何將BigDecimal類型的值轉(zhuǎn)成double類型
這篇文章主要給大家介紹了關(guān)于Java如何將BigDecimal類型的值轉(zhuǎn)成double類型的相關(guān)資料,需要注意精度損失和范圍限制,使用doubleValue方法進(jìn)行轉(zhuǎn)換,并在高精度計(jì)算時(shí)格外小心,需要的朋友可以參考下2024-12-12
一文精通Spring Boot序列化與反序列化(告別數(shù)據(jù)混亂)
本篇文章主要介紹了序列化與反序列化的概念,以及在SpringBoot中的應(yīng)用,文章通過(guò)通俗易懂的語(yǔ)言和比喻,深入淺出地解釋了這兩個(gè)過(guò)程,并展示了SpringBoot如何通過(guò)SpringMVC和Jackson庫(kù)簡(jiǎn)化數(shù)據(jù)格式轉(zhuǎn)換,感興趣的朋友跟隨小編一起看看吧2026-03-03
spring中使用@Autowired注解無(wú)法注入的情況及解決
這篇文章主要介紹了spring中使用@Autowired注解無(wú)法注入的情況及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
Java利用TreeUtils工具類實(shí)現(xiàn)列表轉(zhuǎn)樹(shù)
在開(kāi)發(fā)過(guò)程中,總有列表轉(zhuǎn)樹(shù)的需求,幾乎是項(xiàng)目的標(biāo)配,有沒(méi)有一種通用且跨項(xiàng)目的解決方式呢?本文將基于Java8的Lambda?表達(dá)式和Stream等知識(shí),使用TreeUtils工具類實(shí)現(xiàn)一行代碼完成列表轉(zhuǎn)樹(shù)這一通用型需求,需要的可以參考一下2022-11-11
Java操作IO對(duì)象流進(jìn)行數(shù)據(jù)的讀寫(xiě)
這篇文章主要介紹了Java操作IO對(duì)象流進(jìn)行數(shù)據(jù)的讀寫(xiě),本文通過(guò)例子逐步介紹了java如何操作IO流,和文字解析,需要的朋友可以參考下2021-07-07
使用Netty快速實(shí)現(xiàn)一個(gè)群聊功能的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用?Netty?框架開(kāi)發(fā)一個(gè)?WebSocket?服務(wù)端,從而實(shí)現(xiàn)一個(gè)簡(jiǎn)單的在線聊天功能,感興趣的小伙伴可以了解下2023-11-11
Java判斷IP地址為內(nèi)網(wǎng)IP還是公網(wǎng)IP的方法
這篇文章主要介紹了Java判斷IP地址為內(nèi)網(wǎng)IP還是公網(wǎng)IP的方法,針對(duì)tcp/ip協(xié)議中保留的三個(gè)私有地址進(jìn)行判斷分析,是比較實(shí)用的技巧,需要的朋友可以參考下2015-01-01
java中xml進(jìn)行報(bào)文發(fā)送和解析操作
這篇文章主要介紹了java中xml進(jìn)行報(bào)文發(fā)送和解析操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10
詳解Java對(duì)象序列化為什么要使用SerialversionUID
這篇文章主要介紹了詳解Java對(duì)象序列化為什么要使用SerialversionUID,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

