PHP網站怎麼呼叫別家的API?小碼農大世界2017-08-23 18:56:50

這個其實跟什麼網站沒什麼關係,如果你用PHP比較熟悉那就用PHP發起HTTP請求,目前大多數提供API的基本都是透過HTTP的。當然這個HTTP請求還要符合對方的要求,比如要帶什麼引數,採用GET還是Post等,這個提供API放都會提供對應呼叫文件的。

如果不知道怎麼用php發起http請求就去查php curl怎麼用吧

PHP網站怎麼呼叫別家的API?網路圈2019-05-08 22:37:07

首先我們要知道的是,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網站怎麼呼叫別家的API?我是小小神經貓2017-08-23 23:15:34

這個其實很簡單,每個api提供方都會提供一份介面開發文件。一般這份文件會提供介面功能、引數、事例等內容。使用者一般看一下功能是否滿足要求,然後看傳送和接收的引數說明,這樣根據要求給api提供方提交合法的格式和內容,api才會返回給對應的內容,我們收到後再把資料進行解析就可以,比如json格式的資料就是很多api提供者返回的資料格式,用php將json格式資料解析後得到的資料就可以為我們所用了。

PHP網站怎麼呼叫別家的API?貴港小碼哥2017-08-24 15:00:54

主要看對方以什麼方式提供介面,是用 post, get 還是 webservice?

post 和 get 可用 curl 模組和對方通訊, 另外如果不涉及ssl認證 get 方式還可以簡單的用 file_get_content() 函式替代,

順便提一下file_get_content() 函式直接訪問網頁加正則表示式可以實現簡單的爬蟲程式,我提這個是想回應一下有人說java好還是php好,我覺得好不好在於自己熟悉程度和專案需求,而不取決於語言本身, Python 實現爬蟲程式有多簡單,其實我想說的是簡不簡單在於事在人為而已,這是題外話。

webservice 方式則需要 soap 模組支援。