/**
  * http 请求
  * @param string $url
  * @param array $params
  * @param string $data
  * @return string
  */
 public static function http($url, $params = array(), $data = null)
 {
     $curl = curl_init();
     if (empty($data)) {
         $body = '';
         if (!empty($params)) {
             if (is_array($params)) {
                 $body = http_build_query($params);
             }
         }
     } else {
         $url = $url . (strpos($url, '?') ? '&' : '?') . (is_array($params) ? http_build_query($params) : $params);
         $body = $data;
     }
     curl_setopt($curl, CURLOPT_URL, $url);
     curl_setopt($curl, CURLOPT_TIMEOUT, self::$_TIME_OUT);
     curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, self::$_TIME_OUT);
     curl_setopt($curl, CURLOPT_POST, 1);
     curl_setopt($curl, CURLOPT_POSTFIELDS, $body);
     curl_setopt($curl, CURLOPT_SSLVERSION, 1);
     //升级ssl
     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
     //$urlArr = parse_url($url);
     //$port = empty($urlArr['port']) ? 80 : $urlArr['port'];
     //curl_setopt($curl, CURLOPT_PORT, $port);
     curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:'));
     //获取的信息以文件流的形式返回,不直接输出
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
     $response = curl_exec($curl);
     self::$_HTTP_CODE = curl_getinfo($curl, CURLINFO_HTTP_CODE);
     self::$_HTTP_INFO = curl_getinfo($curl);
     self::$_HTTP_ERROR_CODE = curl_errno($curl);
     self::$_HTTP_ERROR = curl_error($curl);
     curl_close($curl);
     self::$_HTTP_RESPONSE = $response;
     return $response;
 }