您好,登錄后才能下訂單哦!
接著上篇文章繼續代碼的講解,上次的代碼中引入了require.php,這個玩意是干啥的呢,今天我們就來說下
require.php內容如下
<?php
//所需要的所有引入文件都放這里,方便統一管理,以后的php文件里只需要引入這一個就ok了
//請求相關
require_once("../commons/transfer.php");
//讀取配置文件相關
require_once("../src/read_config.php");
//測試用例類相關
require_once("../testcases/lhl_test.php");
?>
這個不是必須的,你也可以選擇在需要的地方引入需要的文件,我們這里之所以抽離成為一個就是為了方便維護,以后萬一有變動只需維護這一個php文件即可,其余的都不需要去關心的。
transfer.php內容如下,主要就是把get和post請求封裝為class,以后有其他的方法你也可以在此封裝。具體的內容在之前的文章中已經講解過,此處不再重復。
<?php
class Transfer
{
public static function get($url, $extraheader = array())
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $extraheader);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 獲取數據返回
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
public static function post($url, $post_params, $extraheader = array())
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params );
curl_setopt($ch, CURLOPT_HTTPHEADER, $extraheader);
//如果是https的,可能需要加上下面的兩行
#curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
#curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 獲取數據返回
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
}
?>
read_config.php內容如下,主要是完成讀取host配置文件,這個也是可選的,你也可以寫在代碼里,我們提取出來主要是為了方便,比如你在測試環境用的一個host,到了線上是另外一個host,那么我們只需要維護對應的文件即可。
<?php
class ReadConfig
{
var $doc;
public function __construct()
{
//load配置文件
$this->doc=new DOMDocument();
$this->doc->load("../src/config.xml");
}
public function get_host($type)
{
//讀取配置文件,選擇host
foreach($this->doc->getElementsByTagName("host") as $item)
{
$list = $item->getElementsByTagName( $type );
foreach ( $list as $list1 )
{
$value = $list1->nodeValue;
break;
}
}
return $value;
}
}
?>
讀取的host文件為xml格式,內容如下
<?xml version="1.0" encoding="UTF-8"?>
<Setting>
<host>
<online>http://v.juhe.cn/laohuangli/d</online>
<host1>http://127.0.0.1</host1>
</host>
</Setting>
資料獲取
后續涉及到的代碼可以通過如下方式獲取(代碼會逐步發放,不要著急):點擊鏈接加入群 522720170(共享里有):https://jq.qq.com/?_wv=1027&k=5C08ATe
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。