最近寫api介面,每寫乙個介面,我自己需要先測試一下,看有沒有語法錯誤,請求的資料對不對,但是很多都是post請求,沒法直接在瀏覽器中開啟鏈結進行測試,所以必須要有個可以在本地發http請求的模擬工具,模擬一下資料請求。
一開始我是這麼幹的,在本機wampserver執行目錄下建立乙個檔案,在裡邊寫curl請求,進行模擬請求測試,但是每個介面需要的引數都不一樣,我需要不斷地修改請求的引數和api,很是不方便。到後來我的這個請求檔案裡邊亂糟糟的資料,我都分不清了:
在網上找了找相關的工具,有不少**測試的,比如:atool**工具、apizza等等,看了下他們做的都很好,使用非常方便,介面很漂亮,服務也很周到。但是我在考慮安全問題,同時它給我返回的是原始的json格式的資料,我習慣於看陣列格式的,比較直觀。
於是乎,本著自己動手豐衣足食的理念,我就在本地寫乙個簡易的api測試頁面,提交資料之後在本地實現api請求測試功能,既不用考慮安全問題,又可以對結果隨便轉換。只需要兩個檔案就搞定,乙個是填寫資料的頁面post.html,另乙個是接收post.html頁面傳過來的資料並處理請求實現功能的post.php檔案。
1、前端頁面檔案post.html
只是是簡易的頁面,沒有複雜的布局,沒有js特效,暫時只寫了6個引數,一般來說也夠了,不夠的可以自行新增。這裡預設傳的都是body請求引數,請求方式也只使用了get和post。
api介面請求表單
2、資料處理檔案post.php
接收post.html頁面傳過來的資料,並傳送請求然後處理請求結果,前端頁面傳過來的都是body請求引數,如果還需要header引數的話,可以在這個檔案手動新增上去。
<?php echo 'api介面請求響應';
/** * 設定網路請求配置
* @param [string] $curl 請求的url
* @param [bool] true || false 是否https請求
* @param [string] $method 請求方式,預設get
* @param [array] $header 請求的header引數
* @param [object] $data put請求的時候傳送的資料物件
* @return [object] 返回請求響應
// 抓取url並把它傳遞給瀏覽器
$content = curl_exec($ch);
if ($content === false)
//關閉curl資源,並且釋放系統資源
curl_close($ch);
return $content;
}//檢查是否是鏈結格式
function checkurl($c_url)(?:[\/\?#][\/=\?%\-&~`@[\]\':+!\.#\w]*)?$/";
if (!preg_match($str,$c_url))else
} //檢查是不是https
}if($_server['request_method'] != 'post') exit('請求方式錯誤!');
//傳送請求
function curl_query()else if($method == 'get')else
}curl_query();
?>
寫的很簡單,功能也不是很全面,正常情況下的post和get請求還是可以滿足的,至少本地測試檢視結果是沒有問題的,有需要的小夥伴可****下來,然後根據自己的需求自行修改完善功能。
本文標題: php本地進行api介面測試的例項
本文位址:
API介面測試
前後端分離主要是因為具有前後端不分離的三個特點 可擴充套件功能性 責任劃分清晰 縮短研發週期 api 是應用程式程式設計介面的縮寫,以http協議形式提供,定義了輸入輸出功能描述的服務。介面文件 用於前後端資料互動溝通使用,小公司是後端自己定義介面文件規矩規範,大公司是架構師定義。介面文件定義了資料...
php 豆瓣api 本地呼叫豆瓣API
呼叫豆瓣的api,報錯 剛開始學php,求大腿幫忙解決 頁面搜尋 js go click function elseelse var sq input val ajax type get url datatype json data q sq,count 10 success function da...
PHP開發API介面
在實際工作中,使用php寫api介面是經常做的,php寫好介面後,前台就可以通過鏈結獲取介面提供的資料,而返回的資料一般分為兩種情況,xml和json,在這個過程中,伺服器並不知道,請求的 是什麼,有可能是別人非法呼叫我們的介面,獲取資料,因此就要使用安全驗證。從圖中可以看得很清楚,前台想要呼叫介面...