PHP介面案例

Json______發表於2017-10-10
private function httpPost(){ // 模擬提交資料函式      
$curl = curl_init(); // 啟動一個CURL會話      
curl_setopt($curl, CURLOPT_URL, $this->apiUrl); // 要訪問的地址                  
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 對認證證書來源的檢查      
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 從證書中檢查SSL加密演算法是否存在      
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模擬使用者使用的瀏覽器      
curl_setopt($curl, CURLOPT_POST, true); // 傳送一個常規的Post請求
curl_setopt($curl, CURLOPT_POSTFIELDS,  http_build_query($this->data)); // Post提交的資料包
curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout); // 設定超時限制防止死迴圈      
curl_setopt($curl, CURLOPT_HEADER, false); // 顯示返回的Header區域內容      
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // 獲取的資訊以檔案流的形式返回
$result = curl_exec($curl); // 執行操作      
if (curl_errno($curl)) {      
echo 'Error POST'.curl_error($curl);      
}      
curl_close($curl); // 關鍵CURL會話      

return $result; // 返回資料      
}


    /**
     * @param $type|提交型別 POST/GET
     * @param $isTranscoding|是否需要轉 $isTranscoding 是否需要轉utf-8 預設 false
     * @return mixed
     */
public function sendSMS($type, $isTranscoding = false) {
$this->data['content'] = $isTranscoding === true ? mb_convert_encoding($this->data['content'], "UTF-8") : $this->data['content'];
$this->data['username'] = $this->username;
$this->data['tkey'] = date('YmdHis');
$this->data['password'] = md5(md5($this->password).$this->data['tkey']);
return  $type == "POST" ? $this->httpPost() : $this->httpGet();
}

相關文章