-
1 # 小碼農大世界
-
2 # 我是小小神經貓
這個其實很簡單,每個api提供方都會提供一份介面開發文件。一般這份文件會提供介面功能、引數、事例等內容。使用者一般看一下功能是否滿足要求,然後看傳送和接收的引數說明,這樣根據要求給api提供方提交合法的格式和內容,api才會返回給對應的內容,我們收到後再把資料進行解析就可以,比如json格式的資料就是很多api提供者返回的資料格式,用php將json格式資料解析後得到的資料就可以為我們所用了。
-
3 # 貴港小碼哥
主要看對方以什麼方式提供介面,是用 post, get 還是 webservice?
post 和 get 可用 curl 模組和對方通訊, 另外如果不涉及ssl認證 get 方式還可以簡單的用 file_get_content() 函式替代,
順便提一下file_get_content() 函式直接訪問網頁加正則表示式可以實現簡單的爬蟲程式,我提這個是想回應一下有人說java好還是php好,我覺得好不好在於自己熟悉程度和專案需求,而不取決於語言本身, Python 實現爬蟲程式有多簡單,其實我想說的是簡不簡單在於事在人為而已,這是題外話。
webservice 方式則需要 soap 模組支援。
-
4 # 網路圈
首先我們要知道的是,API有很多種表現形式,對於不同形式的API,呼叫方式也是不同的。
API常見模式1、RPC(遠端過程呼叫協議)
RPC是一種程序遠端呼叫的方式,主要用於異構平臺間的程序通訊,是Client/Server模式。RPC可以使用多種協議(如:HTTP協議、自定義協議等)和序列化方式(如:JSON、XML、二程序),RPC是基於TCP或者自定義協議來實現的,效能較高,但耦合度也較高。
2、SOAP(簡單物件訪問協議)
SOAP其實是基於HTTP和XML的實現,基於HTTP協議。在耦合度、維護性、擴充套件性上比RPC要好,但是效能上會低於RPC,特別是XML這種訊息傳遞的方式會影響效能。
雖說SOAP是基於HTTP的,但是SOAP提供了Session/Cookie機制來維持狀態,所以一些需要狀態的(如:呼叫某些API前需要進行認證)業務中還能看見SOAP的身影。
3、RESTful
RESTful其實是一種架構風格,它不是一種標準!RESTful可以理解為是Json+HTTP+POST/GET/PUT/DELETE 的組合,同樣是基於HTTP協議的。REST相比於SOAP和RPC,更加簡潔明瞭。
RESTful的無狀態特性使得其適合在分散式環境中使用,所以現在的API都推薦使用RESTful設計風格。
PHP中如何呼叫第三方提供的API?上面講到了,API有很多種模式,對於不同模式我們呼叫的方法就不同。下面介紹下PHP如何計用常見模式的API。
1、RPC
如果對方提供的API是RPC形式的,那一般都會提供PHP版本的Client給你,你按說明進行呼叫即可。
另外PHP生態中也有不少RPC框架,如:PHPRPC、Thrift、gRPC等。
2、SOAP
PHP 5內建有php_soap擴充套件,此擴充套件實現了PHP對Web Services的支援。
3、RESTful
說白了RESTful就是HTTP協議,只不過使用了不同的HTTP動詞進行請求區分,我們推薦使用cURL類庫進行RESTful API的請求。
不建議使用file_get_contents 函式進行HTTP型別的API呼叫,很多人習慣使用此函式呼叫HTTP API,但是又不設定超時時間,當API不穩定時嚴重影響了網站速度。
回覆列表
這個其實跟什麼網站沒什麼關係,如果你用PHP比較熟悉那就用PHP發起HTTP請求,目前大多數提供API的基本都是透過HTTP的。當然這個HTTP請求還要符合對方的要求,比如要帶什麼引數,採用GET還是Post等,這個提供API放都會提供對應呼叫文件的。
如果不知道怎麼用php發起http請求就去查php curl怎麼用吧