『壹』 php 的API介面
使用PHP寫api介面是經常做的,PHP寫好介面後,前台就可以通過鏈接獲取介面提供的數據,而返回的數據一般分為兩種情況,xml和json,在這個過程中,伺服器並不知道,請求的來源是什麼,有可能是別人非法調用我們的介面,獲取數據,因此就要使用安全驗證
原理
從圖中可以看得很清楚,前台想要調用介面,需要使用幾個參數生成簽名。
時間戳:當前時間
隨機數:隨機生成的隨機數
口令:前後台開發時,一個雙方都知道的標識,相當於暗號
演算法規則:商定好的運算規則,上面三個參數可以利用演算法規則生成一個簽名。前台生成一個簽名,當需要訪問介面的時候,把時間戳,隨機數,簽名通過URL傳遞到後台。後台拿到時間戳,隨機數後,通過一樣的演算法規則計算出簽名,然後和傳遞過來的簽名進行對比,一樣的話,返回數據。
演算法規則
在前後台交互中,演算法規則是非常重要的,前後台都要通過演算法規則計算出簽名,至於規則怎麼制定,看你怎麼高興怎麼來。
我這個演算法規則是
時間戳,隨機數,口令按照首字母大小寫順序排序
然後拼接成字元串
進行sha1加密
再進行MD5加密
轉換成大寫。
『貳』 如何使用PHP調用API介面實現天氣查詢功能
最近在做微信公眾平台測試時,想在裡面子菜單上添加查詢未來幾天(包括今天)天氣的功能,就查找了下好用的天氣預報查詢介面API,使用比較多的有:國家氣象局天氣介面、新浪天氣預報介面、網路天氣預報介面、google天氣介面、Yahoo天氣介面等等,我使用的是網路提供的免費天氣查詢介面API,下面與大家分享下...
1、查詢方式:
網路提供的是根據緯度和城市名查詢天氣情況
2、介面事例:
『叄』 簡單獲取新浪短網址API介面的方法(附PHP請求示例)
新浪短網址api是新浪官方對外公開的短網址生成介面,可以將冗長的鏈接地址縮短生成 t.cn 格式的短鏈接,下面分享一個獲取新浪短網址API介面的方法以及介面請求方法。
1、在線使用
將API地址中 "http://www..com" 的部分換成自己的長網址,然後復制前往瀏覽器中粘貼打開就能生成了。
2、請求介面
如果嫌在線生成的流程很麻煩,可以將API介面對接到程序中請求生成,請求示例如下。
PHP請求示例:
Java請求示例:
Python請求示例:
1、調用API介面時,只需將 「http://www..com」換成需要縮短的長鏈接即可。
2、介面支持鏈接中帶參數,但要注意的是當鏈接中出現 & 符號時,請用 %26 代替(或者使用url編碼),否則參數可能會丟失。
3、更換鏈接時,必須要以http(s)://開頭,否則可能會導致短網址生成失敗或者生成的短網址無法跳轉訪問原網站。
4、上文提到的新浪短網址API介面,經測試都是比較穩定的,覺得好用記得收藏一下,以免丟失。
1、長鏈接轉換後,為什麼結尾的參數丟失了?
答:因為長鏈接中含有特殊字元,需要將url編碼後再使用介面生成。
2、介面沒有返回結果,是什麼情況?
答:有些時候介面返回數據會有延遲,超時未返回即生成失敗,也就不會返回結果;或者是因為原鏈接被封了。
3、生成的短鏈接有效期是多久?有沒有訪問次數限制?
答:生成的t.cn短鏈接是永久有效的,沒有點擊次數限制,可以放心使用。
『肆』 php如何調用api介面,主要是php調用聯通,移動api進行簡訊的發送
你沒法調移動。聯通api的,如果要進行簡訊發送,可以去找簡訊介面,一般去運營商購買,然後他們提供api。然後用php對接即可,很簡單,比如下面使用的就是某家的api發送:
$this->content = 「發送內容」;
$this->name = "簡訊賬號";
$this->pwd= "簡訊密碼";
$this->mobile = "發送的手機號";
$argv = array(
'name'=>$this->name, //必填參數。用戶賬號
'pwd'=>$this->pwd, //必填參數。(web平台:基本資料中的介面密碼)
'content'=>$this->content, //必填參數。發送內容(1-500 個漢字)UTF-8編碼
'mobile'=>$this->mobile, //必填參數。手機號碼。多個以英文逗號隔開
'stime'=>'', //可選參數。發送時間,填寫時已填寫的時間發送,不填時為當前時間發送
'sign'=>$this->sign, //必填參數。用戶簽名。
'type'=>$this->type, //必填參數。固定值 pt
'extno'=>$this->extno //可選參數,擴展碼,用戶定義擴展碼,只能為數字
);
//構造要post的字元串
foreach ($argv as $key=>$value) {
if ($flag!=0) {
$params .= "&";
$flag = 1;
}
$params.= $key."=";
$params.= urlencode($value);
$flag = 1;
}
$url = "http://xxxxxxx.com?".$params; //提交的url
$resultUrl = file_get_contents($url);//獲取發送狀態
『伍』 php怎麼調用其他網站提供的api介面
現在大部分介面的調用都是post或者GET方式請求。比如說微信公眾平台的開發。
剛好前段時間開發需要,網上看了一點代碼,有的代碼過時了不能用,有的代碼面向過程,很反鎖,有需要的話,發我郵箱:[email protected],我分裝好了一個類文件,調用很方便,也無需你去維護什麼的,拿來就用。
--------跟新下--------
好多人給我發郵件求助,需要的話,發我郵箱吧。
『陸』 php怎麼調用其他網站提供的api 介面
在這里openUser.php相當於一個介面,其中get_user_list 是一個API(獲取用戶列表),講求返回的數據類型為JSON格式。
需要在PHP代碼中執行這條鏈接他就會返回。
GET方式的直接使用
$file_contents = file_get_content('http://localhost/openUser.php?act=get_user_list&type=json')
POST方式得用下面的。
$url = 'http://localhost/openUser.php?act=get_user_list&type=json';
$ch = acurl_init ();
acurl_setopt ( $ch, CURLOPT_URL, $url );
acurl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
acurl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
acurl_setopt ( $ch, CURLOPT_POST, 1 ); //啟用POST提交
$file_contents = curl_exec ( $ch );