程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中實現api接口思路介紹

php中實現api接口思路介紹

編輯:關於PHP編程

現在很流行api了,但各種api做法不一樣,下面我整理了一些自己的想法,也是看了各大門戶網站開放的api應用想到的,與大家分享分享,高手跳過。

API(Application Programming Interface,應用程序編程接口)在WEB應用中是非常常見的,比如開發微薄應用有微薄API,做淘寶的有淘寶API,不同的API有不同的接口方式,一般API都有一個URL的訪問地址,通過這個訪問地址可以獲取到用戶的自定義數據,但這並不是公開的,比如經過了認證後才能正確的訪問到數據。
  使用新浪微博API發布一條微薄就需要提供用戶名和密碼認證後才能正確的發布微薄,總結了一下主要有以下幾種API接口認證思路:

1. 使用HTTP Basic Authentication

在你訪問一個需要HTTP Basic Authentication的URL的時候,如果你沒有提供用戶名和密碼,服務器就會返回401,如果你直接在浏覽器中打開,浏覽器會提示你輸入用戶名和密碼(google浏覽器不會,bug?)。你可以嘗試點擊這個url看看效果:http://api.minicloud.com.cn/statuses/friends_timeline.xml

要在發送請求的時候添加HTTP Basic Authentication認證信息到請求中,有兩種方法:

一是在請求頭中添加Authorization:

 代碼如下 復制代碼 Authorization: “Basic 用戶名和密碼的base64加密字符串”

二是在url中添加用戶名和密碼:

http://userName:[email protected]/statuses/friends_timeline.xml

 

 代碼如下 復制代碼 $fp = fsockopen("www.mydomain.com",80);
fputs($fp,"GET /downloads HTTP/1.0");
fputs($fp,"Host: www.mydomain.com");
fputs($fp,"Authorization: Basic " . base64_encode("user:pass") . "");
fpassthru($fp);

2.使用Oauth認證


  OAUTH協議為用戶資源的授權提供了一個安全的、開放而又簡易的標准。與以往的授權方式不同之處是OAUTH的授權不會使第三方觸及到用戶的帳號信息(如用戶名與密碼),即第三方無需使用用戶的用戶名與密碼就可以申請獲得該用戶資源的授權,因此OAUTH是安全的。

下載地址:http://code.google.com/p/oauth2-php/downloads/list

3. 使用SOAP

對於應用程序開發來說,使程序之間進行因特網通信是很重要的。

目前的應用程序通過使用遠程過程調用(RPC)在諸如 DCOM 與 CORBA 等對象之間進行通信,但是 HTTP 不是為此設計的。RPC 會產生兼容性以及安全問題;防火牆和代理服務器通常會阻止此類流量。

通過 HTTP 在應用程序間通信是更好的方法,因為 HTTP 得到了所有的因特網浏覽器及服務器的支持。SOAP 就是被創造出來完成這個任務的。

SOAP 提供了一種標准的方法,使得運行在不同的操作系統並使用不同的技術和編程語言的應用程序可以互相進行通信。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved