api_url = $api_url; } /** * $params 请求参数 */ function toSend($receiptdata) { // 构造请求参数 $params = $receiptdata; // random int $params = json_encode($params); $result = $this->http_post_json($this->api_url,$params); if ($result === FALSE) { return array("code" => 500, "msg" => "file_get_contents failed."); } else { return json_decode($result, true); } } /** * @param $url * @param $jsonStr * @return array */ function http_post_json_old($url, $jsonStr) { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json; charset=utf-8', 'Content-Length: ' . strlen($jsonStr) ) ); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return array($httpCode, $response); } function http_post_json($url, $data, $header = '', $timeOut = 0) { //初始化curl $ch = curl_init(); //参数设置 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_TIMEOUT, $timeOut); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); if($header != '') { curl_setopt($ch, CURLOPT_HTTPHEADER, $header); } $result = curl_exec($ch); //连接失败 if($result == FALSE) { //\think\Log::record('[ CURL ] ERROR ' . curl_error($ch)."\n".var_export(debug_backtrace(), true)."\n", 'error'); } curl_close($ch); return $result; } /** * $params 请求参数 */ function messageCheck($params) { $result = $this->http_post_json($this->api_url,$params); if ($result === FALSE) { return array("code" => 500, "msg" => "file_get_contents failed."); } else { return json_decode($result[1], true); } } }