appSecret = Constants::$secret; } //发送请求,获取result,带重试 public function getResult($url,$fields,$retries){ $result = new Result($this->getReq($url, $fields)); if($result->getErrorCode() == ErrorCode::Success){ return $result; } //重试 for($i=0;$i<$retries;$i++){ $result = new Result($this->getReq($url, $fields)); if($result->getErrorCode() == ErrorCode::Success){ break; } } return $result; } //get方式发送请求 public function getReq($url,$fields,$timeout=3){ $headers = array('Authorization: key=' . $this->appSecret, 'Content-Type: application/x-www-form-urlencoded'); // Open connection $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url.'?'.http_build_query($fields)); curl_setopt($ch, CURLOPT_POST, false); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, $timeout ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Execute post $result = curl_exec($ch); // Close connection curl_close($ch); return $result; } //发送请求,获取result,带重试 public function postResult($url,$fields,$retries){ $result = new Result($this->postReq($url, $fields)); if($result->getErrorCode() == ErrorCode::Success){ return $result; } //重试 for($i=0;$i<$retries;$i++){ $result = new Result($this->postReq($url, $fields)); if($result->getErrorCode() == ErrorCode::Success){ break; } } return $result; } //post方式发送请求 public function postReq($url,$fields,$timeout=10){ $headers = array('Authorization: key=' . $this->appSecret, 'Content-Type: application/x-www-form-urlencoded'); // Open connection $ch = curl_init(); // Set the url, number of POST vars, POST data curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, $timeout ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields)); print_r('HTTP Params
'.urldecode(http_build_query($fields))); echo'
'; // Execute post $result = curl_exec($ch); // Close connection curl_close($ch); return $result; } } ?>