コード例 #1
0
ファイル: ydhttp.php プロジェクト: qujian/ydwx
 /**
  * Make an HTTP request
  *
  * @return API results
  */
 protected function http($url, $method, $postfields = NULL, $multi = false)
 {
     curl_setopt($this->ci, CURLOPT_SSL_VERIFYPEER, false);
     curl_setopt($this->ci, CURLOPT_SSL_VERIFYHOST, 1);
     if (YDWX_WEIXIN_COMPONENT_APP_ID) {
         $cert_file = YDWXHook::do_hook(YDWXHook::GET_HOST_APICLIENT_CERT_PATH, $this->appid);
         if (SAE_TMP_PATH) {
             if (copy($cert_file, SAE_TMP_PATH . "cert.pem")) {
                 $cert_file = SAE_TMP_PATH . "cert.pem";
             }
         }
     } else {
         $cert_file = YDWX_WEIXIN_APICLIENT_CERT;
     }
     curl_setopt($this->ci, CURLOPT_SSLCERTTYPE, 'PEM');
     curl_setopt($this->ci, CURLOPT_SSLCERT, $cert_file);
     if (YDWX_WEIXIN_COMPONENT_APP_ID) {
         $key_file = YDWXHook::do_hook(YDWXHook::GET_HOST_APICLIENT_KEY_PATH, $this->appid);
         if (SAE_TMP_PATH) {
             if (copy($key_file, SAE_TMP_PATH . "key.pem")) {
                 $key_file = SAE_TMP_PATH . "key.pem";
             }
         }
     } else {
         $key_file = YDWX_WEIXIN_APICLIENT_KEY;
     }
     curl_setopt($this->ci, CURLOPT_SSLKEYTYPE, 'PEM');
     curl_setopt($this->ci, CURLOPT_SSLKEY, $key_file);
     curl_setopt($this->ci, CURLOPT_SSLKEYPASSWD, YDWX_WEIXIN_COMPONENT_APP_ID ? YDWXHook::do_hook(YDWXHook::GET_HOST_MCH_KEY, $this->appid) : YDWX_WEIXIN_MCH_KEY);
     return parent::http($url, $method, $postfields, $multi);
 }