post_helper($url,$json, $header, 40); if(! $status) return [false, $result]; return [true, $result]; } public function testdwyget($data){ if(empty($data['url']) || empty($data['header'])) return [false,'API请求参数不能为空']; $url = $data['url']; $header = $data['header']; list($status,$result) = $this->get_helper($url,$header); if(! $status) return [false, $result]; return [true, $result]; } public function testdwyput($data){ if(empty($data['url']) || empty($data['post']) || empty($data['header'])) return [false,'API请求参数不能为空']; $url = $data['url']; $post = $data['post']; $header = $data['header']; $json = json_encode($post); $json = str_replace('"workflowSearchBean":{}','"workflowSearchBean":[]',json_encode($post)); $json = str_replace('"workflowSearchBean":[]','"workflowSearchBean":{}',json_encode($post)); list($status, $result) = $this->put_helper($url,$json, $header,40); if(! $status) return [false, $result]; return [true, $result]; } public function post_helper($url, $data, $header = [], $timeout = 20){ $file_name = 'record_test' . date("Y-m-d") . '.txt'; file_put_contents($file_name,date('Y-m-d H:i:s') . PHP_EOL. "请求API:" . $url . PHP_EOL . "请求参数:" . $data . PHP_EOL . "请求头部:" . json_encode($header) . PHP_EOL,8); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_ENCODING, ''); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); if(!is_null($data)) curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $r = curl_exec($ch); if ($r === false) { // 获取错误号 $errorNumber = curl_errno($ch); // 获取错误信息 $errorMessage = curl_error($ch); $message = "cURL Error #{$errorNumber}: {$errorMessage}"; file_put_contents($file_name,date('Y-m-d H:i:s') . PHP_EOL . "返回结果:" . $message . PHP_EOL,8); return [false, $message]; } curl_close($ch); file_put_contents($file_name,date('Y-m-d H:i:s') . PHP_EOL . "返回结果:" . $r . PHP_EOL,8); return [true, json_decode($r, true)]; } public function get_helper($url,$header=[],$timeout = 20){ $file_name = 'record_test' . date("Y-m-d") . '.txt'; $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => $timeout, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_SSL_VERIFYPEER => false, CURLOPT_HTTPHEADER => $header, )); $r = curl_exec($ch); if ($r === false) { // 获取错误号 $errorNumber = curl_errno($ch); // 获取错误信息 $errorMessage = curl_error($ch); $message = "cURL Error #{$errorNumber}: {$errorMessage}"; file_put_contents($file_name,date('Y-m-d H:i:s') . PHP_EOL . "GET返回结果:" . $message . PHP_EOL,8); return [false, $message]; } curl_close($ch); file_put_contents($file_name,date('Y-m-d H:i:s') . PHP_EOL . "GET返回结果:" . $r . PHP_EOL,8); return [true, json_decode($r, true)]; } public function put_helper($url, $data, $header = [], $timeout = 20){ $file_name = 'record_test' . date("Y-m-d") . '.txt'; file_put_contents($file_name,date('Y-m-d H:i:s') . PHP_EOL. "请求API:" . $url . PHP_EOL . "请求参数:" . $data . PHP_EOL . "请求头部:" . json_encode($header) . PHP_EOL,8); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_ENCODING, ''); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); if(!is_null($data)) curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $r = curl_exec($ch); if ($r === false) { // 获取错误号 $errorNumber = curl_errno($ch); // 获取错误信息 $errorMessage = curl_error($ch); $message = "cURL Error #{$errorNumber}: {$errorMessage}"; file_put_contents($file_name,date('Y-m-d H:i:s') . PHP_EOL . "返回结果:" . $message . PHP_EOL,8); return [false, $message]; } curl_close($ch); file_put_contents($file_name,date('Y-m-d H:i:s') . PHP_EOL . "返回结果:" . $r . PHP_EOL,8); return [true, json_decode($r, true)]; } }