/** * 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); }