導航:首頁 > 編程語言 > java訪問api

java訪問api

發布時間:2022-08-08 23:41:30

⑴ 如何用java調用別人API介面

java發一個http請求過去,帶上參數就可以了啊,跟我們在瀏覽器上訪問資源是一樣的 只是它返回的是json格式的數據而已
給你兩個方法吧:
public static String do_post(String url, List<NameValuePair> name_value_pair) throws IOException {
String body = "{}";
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpPost httpost = new HttpPost(url);
httpost.setEntity(new UrlEncodedFormEntity(name_value_pair, StandardCharsets.UTF_8));
HttpResponse response = httpclient.execute(httpost);
HttpEntity entity = response.getEntity();
body = EntityUtils.toString(entity);
} finally {
httpclient.getConnectionManager().shutdown();
}
return body;
}
public static String do_get(String url) throws ClientProtocolException, IOException {
String body = "{}";
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
body = EntityUtils.toString(entity);
} finally {
httpclient.getConnectionManager().shutdown();
}
return body;
}

⑵ java中API怎麼調用啊

1,java中的api並不能直接調用的,常說的調用api其實是調用相關的類和介面,這些類和介面里包含這些api。

2,比如要計算一個值的絕對值、平方根、指數...
那麼就需要調用Java API中的java.lang.Math類中的abs(); sqrt(); exp();的這些方法。
Math.abs();
Math.sqrt();
Math.exp();
Math是靜態的,不需要創建Math對象,所以可以直接用【類.方法】調用。
如果是其它非靜態的類,就需要【對象.方法】的方式調用。

⑶ java中怎麼調用api數據介面

java發一個http請求過去,帶上參數就可以了啊,跟我們在瀏覽器上訪問資源是一樣的只是它返回的是json格式的數據而已
給你兩個方法吧:
publicstaticStringdo_post(Stringurl,List<NameValuePair>name_value_pair)throwsIOException{
Stringbody="{}";
DefaultHttpClienthttpclient=newDefaultHttpClient();
try{
HttpPosthttpost=newHttpPost(url);
httpost.setEntity(newUrlEncodedFormEntity(name_value_pair,StandardCharsets.UTF_8));
HttpResponseresponse=httpclient.execute(httpost);
HttpEntityentity=response.getEntity();
body=EntityUtils.toString(entity);
}finally{
httpclient.getConnectionManager().shutdown();
}
returnbody;
}
publicstaticStringdo_get(Stringurl)throwsClientProtocolException,IOException{
Stringbody="{}";
DefaultHttpClienthttpclient=newDefaultHttpClient();
try{
HttpGethttpget=newHttpGet(url);
HttpResponseresponse=httpclient.execute(httpget);
HttpEntityentity=response.getEntity();
body=EntityUtils.toString(entity);
}finally{
httpclient.getConnectionManager().shutdown();
}
returnbody;
}

⑷ 如何在java中調用api介面

  1. 需要導入對應的lib包,然後調用具體的介面以及方法

  2. 通過實現http協議進行post或者get請求具體api介面

⑸ java 怎麼調用php的api介面

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.Charset;
import XmlHelper;

public class QXOutStream {
public String outPutStr(String urlStr, String input) throws Exception{
StringBuffer strBuf = new StringBuffer();
String Resulst="";
try{
URL url = new URL(urlStr);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setDoInput(true);
con.setDoOutput(true);
con.setRequestMethod("POST");
con.setAllowUserInteraction(false);
con.setUseCaches(false);
con.setRequestProperty("Accept-Charset", "GBK");
BufferedOutputStream bufOutPut = new BufferedOutputStream(con.getOutputStream());

byte[] bdat = input.getBytes("UTF-8");//解決中文亂碼問題
bufOutPut.write(bdat, 0, bdat.length);
bufOutPut.flush();
BufferedInputStream inp = new BufferedInputStream(con.getInputStream());
InputStreamReader in = new InputStreamReader(inp,Charset.forName("GBK"));
BufferedReader bufReador = new BufferedReader(in);

String tempStr = "";
while (tempStr != null) {
strBuf.append(tempStr);
tempStr = bufReador.readLine();

}
Resulst = XmlHelper.getPostNodeText(strBuf.toString(), "OPERATOR_RESULT");//.getPostFirstRowText(strBuf.toString(), "OPERATOR_RESULT");

}
catch (Exception e) {
//System.err.println("Exception:"+e.toString());
throw e;
//return "N";
}
finally{
return Resulst;
}

}
}
你可以參考這個例子調用php 的api介面,這裡面的urlStr就是你調用php的api url介面

⑹ 怎樣在java中調用百度地圖的API

網路地圖Web服務API為開發者提供http介面,即開發者通過http形式發起檢索請求,獲取返回json或xml格式的檢索數據。
api官網說明鏈接:

http://developer..com/map/webservice.htm

1、可用介面列舉:
獲取相關地址提示 place suggestion
http://api.map..com/place/v2/suggestion?query=水杉®ion=成都&output=json&ak=

2、獲取坐標 geocoding

http://api.map..com/geocoder?address=錦江區菱安路299號&output=json&key=

http://api.map..com/place/v2/search?ak=&output=json&query=藍光coco金沙&page_size=10&page_num=0&scope=1®ion=成都
{
"status":0,
"message":"ok",
"total":2,
"results":[
{
"name":"藍光COCO金沙",
"location":{
"lat":30.687544,
"lng":103.996691
},
"address":"西三環外金沙西源大道(IT大道旁)",
"uid":"223992992c5ee7e0841541df"
},
{
"name":"藍光COCO金沙2期",
"location":{
"lat":30.681123,
"lng":103.991123
},
"address":"青羊區金沙IT大道旁",
"uid":"b7bb5abb1cd4982213293580"
}
]
}

3、設施導航
http://api.map..com/place/v2/search?ak=&output=json&query=圖書館&page_size=20&page_num=0&scope=2®ion=成都

4、java測試類:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;

public class LocationUtil {

private static final String BAIDU_APP_KEY = "";

/**
* 返回輸入地址的經緯度坐標 key lng(經度),lat(緯度)
*/
public static Map<String, String> getLatitude(String address) {
try {
// 將地址轉換成utf-8的16進制
address = URLEncoder.encode(address, "UTF-8");
// 如果有代理,要設置代理,沒代理可注釋
// System.setProperty("http.proxyHost","192.168.172.23");
// System.setProperty("http.proxyPort","3209");

URL resjson = new URL("http://api.map..com/geocoder?address="
+ address + "&output=json&key=" + BAIDU_APP_KEY);
BufferedReader in = new BufferedReader(new InputStreamReader(
resjson.openStream()));
String res;
StringBuilder sb = new StringBuilder("");
while ((res = in.readLine()) != null) {
sb.append(res.trim());
}
in.close();
String str = sb.toString();
System.out.println("return json:" + str);
if(str!=null&&!str.equals("")){
Map<String, String> map = null;
int lngStart = str.indexOf("lng\":");
int lngEnd = str.indexOf(",\"lat");
int latEnd = str.indexOf("},\"precise");
if (lngStart > 0 && lngEnd > 0 && latEnd > 0) {
String lng = str.substring(lngStart + 5, lngEnd);
String lat = str.substring(lngEnd + 7, latEnd);
map = new HashMap<String, String>();
map.put("lng", lng);
map.put("lat", lat);
return map;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

public static void main(String args[]) {

Map<String, String> map = LocationUtil.getLatitude("成都 高新西區西區大道1398號");
if (null != map) {
System.out.println(map.get("lng"));
System.out.println(map.get("lat"));
}
}
}

⑺ 怎麼使用java調用api介面

java發一個http請求過去,帶上參數就可以了啊,跟我們在瀏覽器上訪問資源是一樣的 只是它返回的是json格式的數據而已給你兩個方法吧:public static String do_post(String url, List name_value_pair) throws IOException { String body = "{}"

⑻ java 中的api怎麼使用

可以按照類名搜索,比附Math這個類,

直接輸入Math,然後就能自動搜索到,雙擊打開,右側顯示該類的信息,包括實現的介面,繼承的類等,往下看,列出了所有方法,包括返回值,參數等

⑼ JAVA中如何調用API函數

JAVA不能直接調用Windows底層API,除非使用JNI技術。需要C語言配合

閱讀全文

與java訪問api相關的資料

熱點內容
一堆文件夾怎麼弄出來 瀏覽:743
博途如何編譯硬體 瀏覽:418
fortran程序pdf 瀏覽:504
電池消耗演算法 瀏覽:394
伺服器中斷連接怎麼處理 瀏覽:222
上世紀互聯網不發達程序員很難 瀏覽:841
語音識別android開源 瀏覽:762
地埋式垃圾壓縮中轉站 瀏覽:902
apachehttpdlinux 瀏覽:944
快遞員中通app預付款是什麼 瀏覽:843
java路徑轉義 瀏覽:857
keytool加密演算法 瀏覽:131
笑臉圖案的APP相機是什麼軟體 瀏覽:249
app軟體為什麼會被下架 瀏覽:981
從內存到硬碟的命令是 瀏覽:52
程序員的爸爸們的發型 瀏覽:123
魔獸世界傷害壓縮是怎麼壓的 瀏覽:976
壓縮機型號hp 瀏覽:959
配音虛弱的程序員 瀏覽:61
8歲小學生程序員編程 瀏覽:256