溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何快速了解API接口

發(fā)布時間:2021-10-25 15:21:14 來源:億速云 閱讀:220 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“如何快速了解API接口”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何快速了解API接口”吧!

什么是 API 接口

首先,我們先來看一看 API 接口的定義:

API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數(shù),目的是提供應用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機制的細節(jié)。

從定義中,我們先劃下重點:函數(shù)、 提供應用程序與開發(fā)人員、無需訪問源碼、例程 。其中,例程是某個系統(tǒng)對外提供的功能接口或服務的集合。

看完這個定義是不是感覺自己看了個寂寞,這解釋跟不解釋沒有差別啊?好啦,不要擔心,小拍來給大家直接了當?shù)恼f一說。

API 其實可以理解為是接收要求的信差,通過 API 接口,我們告訴系統(tǒng)(例程)想要做什么,系統(tǒng)再把處理結果響應回來。

如果用一個現(xiàn)實生活中的場景來舉例說明,那么餐廳的服務員其實就是一個典型的 API 。想象一下你正坐在餐桌前,面前桌子上有一張點菜用的菜單,點好菜后,交由廚房進行處理。但現(xiàn)在少了一個關鍵的鏈接點,如何把我們的單子送到廚房,再把食物送到我的桌上呢?

這就是服務員(API)登場的時候了。服務員就是這個信差,他會傳遞你的要求或者餐點,把這些信息告訴廚房(系統(tǒng)),廚房就會知道怎么做,然后把餐品通過服務員端(響應)給你。

現(xiàn)在我們把這個原理應用到真正的 API 例子上來。

快遞單號查詢,這大家應該很熟悉吧。朋友通過順豐寄了一箱零食給你,并告知你了快遞單號,你就可以在順豐的官網(wǎng)上,輸入快遞單號進行查詢。順豐的系統(tǒng)接收到查詢,就會在系統(tǒng)中查找對應快遞的信息,響應給你。

但是,很多時候我們并不是直接通過快遞公司的網(wǎng)站去查詢快遞信息的。比方說通過淘寶買的衣服,賣家通過順豐發(fā)貨,但我們可以在淘寶上查詢到順豐快遞的信息。那么淘寶是怎么獲取到存放在順豐服務器上的快遞數(shù)據(jù)呢?

沒錯,這里就是使用了 API 。淘寶可以通過順豐提供的 API 接口,來獲取存放在順豐服務器上的快遞信息,最后顯示在我們面前。

如何快速了解API接口

現(xiàn)在再看上邊的定義,是不是感覺好理解一些了呢?API 接口就是預先定義好的函數(shù)邏輯,提供給其他系統(tǒng)請求,然后返回結果的一個東西。

為什么要使用 API 接口

在知道了 API 接口的作用后,使用 API 接口的原因也就一目了然了。舉個例子:你打算開發(fā)一個打車軟件,需要在頁面上展現(xiàn)地圖,那你會怎么做呢?

如果說自己來開發(fā)地圖,開發(fā)時間就會大大延長,成本也會增加許多。這個時候,其實可以在高德開放平臺或者百度地圖的開放平臺,找到地圖 API,購買他們的服務,部署調(diào)用相關的 API ,這樣就可以快速在我們軟件中上線地圖功能了。

所以,對于軟件提供商來說,開放 API 并讓別的應用程序來調(diào)用,形成生態(tài),軟件才能發(fā)揮最大的價值,才能更有生命力,同時別人也看不見代碼,不會傷害商業(yè)機密。

對于應用開發(fā)者來說,有了開放的 API ,就可以直接調(diào)用多家公司做好的功能來做自己的應用,不需要所有的事情都自己操刀,節(jié)省精力。

如何使用 API 接口

現(xiàn)在市面上開放的 API 接口,一般都是通過 HTTP 請求調(diào)用的。例如,一些第三方提供的查詢天氣的功能,我們就可以根據(jù)第三方提供的 API 地址以及相關的說明文檔,攜帶上請求參數(shù),在瀏覽器中直接訪問使用。

如何快速了解API接口

如何快速了解API接口

接下來,小拍以又拍云存儲上傳 API 為例,通過 curl 工具來完成一個向云存儲上傳文件的操作。接下來會涉及到一些命令行工具以及代碼的操作,如果你對 curl 這個工具不太熟悉的話,也可以參考小拍之前的文章《雙劍合璧-掌握 curl 和 Dig 走天涯》哦。

每個 API 接口根據(jù)作用不同,需要傳遞的參數(shù)也是不盡相同的。因此,我們在使用一個 API  接口之前,最好先看一下官方文檔的 API 說明。

如何快速了解API接口

通過文檔介紹,我們可以看到如果需要請求云存儲的上傳接口,我們需要使用 PUT 的方式,向 http://v0.api.upyun.com 發(fā)起請求。其中存儲服務名和文件的保存路徑定義在請求地址中。并且需要攜帶 Authorization 鑒權請求頭,來確保 API 的調(diào)用是合法的。

Authorization 的生成,小拍使用最簡單的基本認證來進行演示。

根據(jù)鑒權文檔介紹,curl 支持直接傳入操作員名和密碼來生成鑒權請求頭。

如何快速了解API接口

了解 API 接口調(diào)用的規(guī)則之后,我們就可以開始準備數(shù)據(jù),來向云存儲空間上傳文件啦。

例如,小拍的桌面上有一張圖片,小拍想把圖片上傳到自己云存儲空間下的 images 目錄下,保存名為 lufei.jpg。

如何快速了解API接口

小拍的云存儲空間名為 fileupload-upyun,操作員名為 hello,對應的密碼為 dF4XhRbnpsvonU1dgdetURncHSwa2Z37,這樣,我們就有調(diào)用上傳 API 的必要參數(shù)了。

接下來,我們就按照要求,組裝 curl 的請求命令。

curl -X PUT \
http://v0.api.upyun.com/fileupload-upyun/api/lufei.jpg \
-u hello:dF4XhRbnpsvonU1dgdetURncHSwa2Z37 \
-T C:\Users\hilih\Desktop\test.jpg

參數(shù)說明:

-X 可以指定 curl 發(fā)起請求的方法

-u 對傳入的數(shù)據(jù)進行 HTTP 基本認證,也就是用戶和密碼組和的base64編碼

-T 可以使 curl 讀取指定路徑下的文件

如何快速了解API接口

這樣呢,我們就成功的調(diào)用了云存儲的上傳 API 接口,通過接口上傳了一張本地的圖片到存儲空間中。

如何快速了解API接口

不過,使用 curl 發(fā)起 HTTP 請求,看上去總有一些麻煩,命令行也太反人類了吧,有沒有更加友好的界面呢?當時啦,使用 curl 只是其中一種的上傳方法,我們還可以通過其它方式,來向云存儲 API 發(fā)起 HTTP 請求。

例如二狗子的網(wǎng)站分享圖片,二狗子就對上傳的 API 做了處理,用網(wǎng)頁的形式對他的用戶提供了一個上傳的 API 接口。小拍也聯(lián)系了二狗子,請他提供了一個簡單的測試用例。

如何快速了解API接口

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>云存儲上傳</title>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.20.0/axios.min.js"></script>
</head>
<body>
上傳服務空間:<input id='bucketname'>
操作員賬號:<input id='username'>
操作員密碼:<input id='password'>
存儲路徑:<input id='path'>
文件選擇:<input id='fileupload' type='file' name='file' /><br><br>
<button>上傳</button>
<script type="text/javascript">
window.onload = function() {
document.querySelector('button').onclick = ufload;
}
function ufload() {
var bucket = document.querySelector('#bucketname').value;
var username = document.querySelector('#username').value;
var password = document.querySelector('#password').value;
var path = document.querySelector('#path').value;
var input = document.querySelector('#fileupload');
var file = input.files[0];
axios.defaults.baseURL = 'http://v0.api.upyun.com';
axios.put('/' + bucket + path, file, {
auth: {
username: username,
password: password
}
}).then(function(response) {
console.log(response.data);
console.log(response.headers);
console.log(response.status);
if (response.status == 200) {
alert('上傳成功');
}
})
}
</script>
</body>
</html>

到此,相信大家對“如何快速了解API接口”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

api
AI