public function doRequest($url, $params = array()) { $client = new Zend_Http_Client(trim($url), array()); if (array_key_exists('raw', $params)) { $client->setRawData(json_encode($params['raw']), 'application/json'); } else { $client->setParameterPost($params); } if (extension_loaded('curl')) { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, true); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, 2); $client->setAdapter($adapter); } $response = $client->request('POST'); $res = $response->getBody(); if ($response->isError()) { $this->log("Request fail. Http code : " . $response->getStatus() . ' Message : ' . $res, 'ERROR'); $this->log("Request data : " . print_r($params, 1), 'ERROR'); if (array_key_exists('raw', $params)) { return $response; } } if (array_key_exists('raw', $params)) { return json_decode($res, true); } $result = null; parse_str($res, $result); return $result; }
public function __construct() { $curl = new Zend_Http_Client_Adapter_Curl(); $curl->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); $curl->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $client = new Zend_Http_Client(null, array('adapter' => $curl)); parent::__construct(null, $client); }
/** * @return Zend_Http_Client */ public function getHttpClient() { $username = '******'; $password = sha1('demo'); $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setConfig(array('curloptions' => array(CURLOPT_HTTPAUTH => CURLAUTH_DIGEST, CURLOPT_USERPWD => "{$username}:{$password}"))); $client = new Zend_Http_Client(); $client->setAdapter($adapter); return $client; }
/** * Constructor * * @param array $options */ public function __construct(array $options) { $this->setOptions($options); // Force the curl adapter if it's available if (extension_loaded('curl')) { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); //$adapter->setCurlOption(CURLOPT_VERBOSE, false); $this->getHttpClient()->setAdapter($adapter); } $this->getHttpClient()->setConfig(array('timeout' => 15)); }
protected function _getAdapter() { $email = $this->getHelper()->getAdminEmail(); $apiKey = $this->getHelper()->getAdminApiKey(); if (!$email && !$apiKey) { $this->throwException($this->getHelper()->__('Error Freshdesk email or API key')); } if ($apiKey) { $username = $apiKey; $password = self::DEFAULT_PASSWORD; } else { $username = $email; $password = $this->getHelper()->getPassword(); if (!$password) { $this->throwException($this->getHelper()->__('Error Freshdesk password')); } } $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_POST, true); $adapter->setCurlOption(CURLOPT_USERPWD, $username . ':' . $password); $adapter->setCurlOption(CURLOPT_RETURNTRANSFER, true); $adapter->setCurlOption(CURLOPT_HTTPAUTH, CURLAUTH_BASIC); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, 0); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, 0); return $adapter; }
public function __construct() { $curl = new Zend_Http_Client_Adapter_Curl(); $curl->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); $curl->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); /*$curl->setCurlOption(CURLOPT_FOLLOWLOCATION,true); $curl->setCurlOption(CURLOPT_PROTOCOLS,array( CURLPROTO_HTTP | CURLPROTO_HTTPS )); $curl->setCurlOption(CURLOPT_REDIR_PROTOCOLS,array( CURLPROTO_HTTP | CURLPROTO_HTTPS )); $curl->setCurlOption(CURLOPT_MAXREDIRS,30);*/ $client = new Zend_Http_Client(null, array('adapter' => $curl)); parent::__construct(null, $client); }
/** * Connect to the remote server * * Will try to connect to the proxy server. If no proxy was set, will * fall back to the target server (behave like regular Socket adapter) * * @param string $host * @param int $port * @param boolean $secure * @param int $timeout */ public function connect($host, $port = 80, $secure = false) { // If no proxy is set, fall back to Socket adapter if (!$this->config['proxy_host']) { return parent::connect($host, $port, $secure); } // If we are connected to a different server or port, disconnect first if ($this->curl && is_array($this->connected_to) && ($this->connected_to[0] != $host || $this->connected_to[1] != $port)) { $this->close(); } // Do the actual connection $this->curl = curl_init(); if ($port != 80) { curl_setopt($this->curl, CURLOPT_PORT, intval($port)); } // Go through a proxy - the connection is actually to the proxy server $host = $this->config['proxy_host']; $port = $this->config['proxy_port']; // curl_setopt ($this->curl, CURLOPT_HTTPPROXYTUNNEL, TRUE); // curl_setopt ($this->curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); curl_setopt($this->curl, CURLOPT_PROXY, $host . ":" . $port); if (!$this->curl) { $this->close(); throw new Zend_Http_Client_Adapter_Exception('Unable to Connect to use proxy' . $host . ':' . $port); } // Update connected_to $this->connected_to = array($host, $port); }
/** * Initialize curl * * @param string $host * @param int $port * @param boolean $secure * @return void * @throws Zend_Http_Client_Adapter_Exception if unable to connect */ public function connect($host, $port = 80, $secure = false) { parent::connect($host, $port, $secure); // for some reason the zend_http_client_adapter_curl only sets a timeout on // connecting, not on the reading. // So we override and set the same timeout being used for connecting as // the timeout for reading / writing. curl_setopt($this->_curl, CURLOPT_TIMEOUT, (int) $this->_config['timeout']); }
/** * @return Zend_Http_Client_Adapter_Curl */ protected function _getAdapter() { $adapter = new Zend_Http_Client_Adapter_Curl(); #$adapter->setCurlOption(CURLOPT_HTTPAUTH, CURLAUTH_BASIC); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, 2); $adapter->setCurlOption(CURLOPT_SSLVERSION, 1); $sslCiphersuiteList = $this->getSslCiphersuiteList(); if (null !== $sslCiphersuiteList) { $this->set(CURLOPT_SSL_CIPHER_LIST, $sslCiphersuiteList); } $this->set(CURLOPT_CAINFO, Mage::getBaseDir('lib') . '/mpbackup/dropbox/certs/trusted-certs.crt'); $this->set(CURLOPT_CAPATH, Mage::getBaseDir('lib') . '/mpbackup/dropbox/certs/'); if (defined('CURLOPT_PROTOCOLS')) { $this->set(CURLOPT_PROTOCOLS, CURLPROTO_HTTPS); } if (defined('CURLOPT_REDIR_PROTOCOLS')) { $this->set(CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTPS); } return $adapter; }
/** * Get Zend_Http_Client with curl based adapter if * there is no openssl extension and curl extension is loaded * Returns Zend_Http_Client with default adapter otherwise * (so if there is a openssl extension, or non of ssl extension is loaded) * * @param bool $curlAllowAnyCertificate Should curl allow to connect using ssl without checking peer's certificate and host * @return Zend_Http_Client */ public static function factoryGetZendHttpClient($curlAllowAnyCertificate = false) { $oZendHttpClient = new Zend_Http_Client(); $aSslExtensions = self::getAvailableSSLExtensions(); // get empty array if false $aSslExtensions = $aSslExtensions ? $aSslExtensions : array(); $hasCurl = in_array('curl', $aSslExtensions); $hasOpenssl = in_array('openssl', $aSslExtensions); if ($hasCurl && !$hasOpenssl) { $oAdapter = new Zend_Http_Client_Adapter_Curl(); $oAdapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); // This CA file is also used in OA_XML_RPC_Client $oAdapter->setCurlOption(CURLOPT_CAINFO, MAX_PATH . '/etc/curl-ca-bundle.crt'); if ($curlAllowAnyCertificate) { // Change curl option to turn off checking peer's host $oAdapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); } $oZendHttpClient->setAdapter($oAdapter); } return $oZendHttpClient; }
/** * Delete content of media/js and media/css folders to refresh with updated compressed/minified js/css content * If disabled, the updates are done each time an original file is updated. Can be resource overload on live website. * * @param Mage_Core_Model_Observer $observer */ public function regenerateMediaFiles($observer) { if (Mage::getStoreConfigFlag('uioptimization/general/cronupdate') && (Mage::getStoreConfigFlag('uioptimization/csscompression/enabled') || Mage::getStoreConfigFlag('uioptimization/jscompression/enabled'))) { // Clean up media/css and media/js folders and recreate the folders if necessary try { Mage::getModel('core/design_package')->cleanMergedJsCss(); Mage::dispatchEvent('clean_media_cache_after'); } catch (Exception $e) { Mage::logException($e); return; } $stores = Mage::app()->getStores(); foreach ($stores as $id => $v) { $url = Zend_Uri_Http::fromString(Mage::app()->getStore($id)->getBaseUrl()); // Recreate the js and css compressed file by using the normal process try { $curl = new Zend_Http_Client_Adapter_Curl(); $curl->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $curl->setCurlOption(CURLOPT_SSL_VERIFYHOST, 1); $curl->connect($url->getHost(), $url->getPort(), Mage_Core_Model_Store::isCurrentlySecure()); $curl->write(Zend_Http_Client::GET, $url); $curl->close(); Mage::log('[Diglin_UIOptimization_Model_Observer] Update media js/css content for the different stores', ZEND_LOG::DEBUG); } catch (Exception $e) { Mage::logException($e); return; } } } }
/** * @param Enlight_Config $config * @see https://github.com/paypal/sdk-core-php * @return Zend_Http_Client_Adapter_Curl|Zend_Http_Client_Adapter_Socket */ public static function createAdapterFromConfig($config) { $curl = $config->get('paypalCurl', true); $sslVersion = $config->get('paypalSslVersion', 0); $timeout = $config->get('paypalTimeout') ?: 60; $userAgent = 'Shopware/' . Shopware::VERSION; if ($curl && extension_loaded('curl')) { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setConfig(array('useragent' => $userAgent, 'timeout' => $timeout)); if (!empty($config->paypalSandbox)) { $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); } $adapter->setCurlOption(CURLOPT_TIMEOUT, $timeout); $adapter->setCurlOption(CURLOPT_SSLVERSION, $sslVersion); //$adapter->setCurlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1'); //$adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, 1); //$adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, 2); } else { $adapter = new Zend_Http_Client_Adapter_Socket(); $adapter->setConfig(array('useragent' => $userAgent, 'timeout' => $timeout, 'ssltransport' => $sslVersion > 3 || $sslVersion == 1 ? 'tls' : 'ssl')); } return $adapter; }
/** * Do request method * * @param string $url * @param array $params * @return array */ public function doRequest($url, $params=array(), $doParse = true)/*{{{*/ { $client = new Zend_Http_Client($url, array( 'useragent' => 'Shopware/' . Shopware()->Config()->Version )); $client->setParameterPost($params); if (extension_loaded('curl')) { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); $client->setAdapter($adapter); } $respone = $client->request('POST'); $respone = $respone->getBody(); //$respone = file_get_contents($url . '?' . http_build_query($params, '', '&')); $result = null; //$respone = str_replace('%2B' , ' ', $respone); if ($doParse){ parse_str($respone, $result); } else { $result = $respone; } return $result; }/*}}}*/
/** * Get package updaes * * @param array $pkgList * @return boolean */ public function getUpdates($pkgList = array()) { $param = array(); if ($pkgList) { foreach ($pkgList as $pkg) { $param[] = $pkg["key"]; } } $config = $this->getConfig()->getConfiguration(); $client = new Zend_Http_Client(); $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setConfig(array('curloptions' => array(CURLOPT_BINARYTRANSFER => 1, CURLOPT_RETURNTRANSFER => FALSE, CURLOPT_FOLLOWLOCATION => TRUE, CURLOPT_SSL_VERIFYPEER => FALSE, CURLOPT_TIMEOUT => 10))); $client->setAdapter($adapter); $client->setUri($config->downloader->updates_url); $client->setMethod("POST"); /* Paramater to post request */ $client->setParameterPost(array('keys' => implode(",", $param))); $response = $client->request("POST"); $result = Zend_Json::decode($response->getBody()); if ($result["success"]) { return $result["updates"]; } else { return FALSE; } }
/** * Attempt to download the extension archive file to var directory * * @param Ash_Up_Model_Extension $extension * @return Ash_Up_Helper_Data */ public function downloadArchive(Ash_Up_Model_Extension $extension) { $uri = $extension->getDownloadUri(); $path = Mage::getConfig()->getVarDir('ash_installer/downloads'); Mage::getConfig()->createDirIfNotExists($path); $archivePath = $path . DIRECTORY_SEPARATOR . $extension->getExtensionName() . '.zip'; // configure client to download archive file $client = new Zend_Http_Client($uri); $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setConfig(array('curloptions' => array(CURLOPT_BINARYTRANSFER => true))); $client->setAdapter($adapter); $client->setStream($archivePath); // stream file to specified path $response = $client->request(Zend_Http_Client::GET); if ($response->getStatus() != 200) { Mage::throwException($this->__('Error downloading archive (%s): %s', $extension->getExtensionName(), $response->getMessage())); } // set archive path $extension->setLastDownloaded(time())->setArchivePath($archivePath)->save(); return $this; }
/** * Constructor method * * Expects a configuration parameter. * * @param Enlight_Config $config */ public function __construct($config) { if(!empty($config->paypalSandbox)) { $url = self::URL_SANDBOX; } else { $url = self::URL_LIVE; } $this->apiUsername = $config->get('paypalUsername'); $this->apiPassword = $config->get('paypalPassword'); $this->apiSignature = $config->get('paypalSignature'); $this->apiVersion = $config->get('paypalVersion'); parent::__construct($url, array( 'useragent' => 'Shopware/' . Shopware()->Config()->Version, 'timeout' => 5, )); if (extension_loaded('curl')) { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); $this->setAdapter($adapter); } }
/** * Returns xml rpc client * * @return Zend_XmlRpc_Client */ protected function getClient() { if($this->client === null) { $this->client = new Zend_XmlRpc_Client($this->serverAddress); if (extension_loaded('curl')) { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); $this->client->getHttpClient()->setAdapter($adapter); } } return $this->client; }
/** DIBS API TOOLS END **/ public function callDibsApi($payment, $amount, $action) { // We must have HMAC code for every transaction if (!($hmacCode = $this->helper_dibs_tools_conf('HMAC'))) { Mage::throwException('Error with HMAC code, please check HMAC code in module config'); } // Create and set params for Http curl client $httpClient = new Zend_Http_Client(); $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSLVERSION, 3); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $httpClient->setHeaders(array('Content-Type: text/json')); $httpClient->setUri(self::BASE_TRANSACTION_URL . "/{$action}"); $httpClient->setMethod(Zend_Http_Client::POST); $httpClient->setAdapter($adapter); // prepare data for request $data = array('merchantId' => $this->helper_dibs_tools_conf('mid'), 'amount' => self::api_dibs_round($amount), 'transactionId' => self::getTransactionId($payment->getOrder()->getRealOrderId())); // We don't need to include amount in a MAC // calculation in a case of Cancel transaction if ($action == 'CancelTransaction') { unset($data['amount']); } $data['MAC'] = $this->api_dibs_calcMAC($data, $hmacCode); $httpClient->setParameterPost('json', Zend_Json::encode($data)); // Do request and handle results try { $response = $httpClient->request(); $phpNative = Zend_Json::decode($response->getBody()); $status = $phpNative['status']; $message = $phpNative['declineReason']; } catch (Exception $e) { $message = ": " . $e->getMessage(); } return array('status' => $status, 'transaction_id' => $data['transactionId'], 'message' => $message); }
/** * @group ZF-7040 */ public function testGetCurlHandle() { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setConfig(array('timeout' => 2, 'maxredirects' => 1)); $adapter->connect("http://framework.zend.com"); $this->assertTrue(is_resource($adapter->getHandle())); }
function shipping($arrDatosFinish) { $arrDatos['I1'] = $arrDatosFinish[0]; $arrDatos['I2'] = $arrDatosFinish[1]; $arrDatos['I3'] = $arrDatosFinish[2]; $arrDatos['I4'] = $arrDatosFinish[3]; $arrDatos['I5'] = $arrDatosFinish[4]; $arrDatos['I6'] = $arrDatosFinish[5]; $arrDatos['I7'] = $arrDatosFinish[6]; $arrDatos['I8'] = $arrDatosFinish[7]; $arrDatos['I9'] = $arrDatosFinish[8]; $arrDatos['I10'] = $arrDatosFinish[9]; try { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setConfig($this->_config['curl']['pasarela']['options']); $client = new Zend_Http_Client($this->_config['curl']['pasarela']['url']); $client->setAdapter($adapter); $client->setParameterPost($arrDatos); $response = $client->request(Zend_Http_Client::POST); if (strpos($response, "<h5>Successfully subscribed:</h5>") !== false) { echo "<p>Added to trainee email list successfully.</p>"; exit; } else { if (strpos($response, "Already a member") !== false) { echo "<p>Already a member of the trainee email list"; } else { var_dump($response); exit; echo 'enviado saltifactoriamente'; exit; } } } catch (Zend_Http_Client_Adapter_Curl_Exception $e) { echo $e; exit; } catch (Exception $ex) { echo $ex; exit; } }
/** * Prepare package information * * @return Fox_Extensionmanager_Model_Package */ public function _prepareInfo() { $this->setStatus(Fox_Extensionmanager_Model_Package_Status::PREPARING); try { $client = new Zend_Http_Client(); $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setConfig(array('curloptions' => array(CURLOPT_BINARYTRANSFER => 1, CURLOPT_RETURNTRANSFER => FALSE, CURLOPT_FOLLOWLOCATION => TRUE, CURLOPT_SSL_VERIFYPEER => FALSE, CURLOPT_TIMEOUT => 10))); $client->setAdapter($adapter); $client->setUri($this->packageKey); $client->setMethod("POST"); /* Paramater to post request */ $client->setParameterPost(array('packageKey' => $this->packageKey, 'hashKey' => $this->getConfig()->getHashKey())); $response = $client->request("POST"); $pkgInfo = Zend_Json::decode($response->getBody()); if (isset($pkgInfo['success']) && $pkgInfo['success']) { $this->setPackageInfo($pkgInfo); $this->setStatus(Fox_Extensionmanager_Model_Package_Status::PREPARED); /* setting package to package session */ $this->save(); } else { $this->errors[] = "Access Denied!"; } } catch (Exception $e) { /* $this->errors[] = $e->getMessage(); */ $this->errors[] = "Unable to connect package store"; $this->setStatus(Fox_Extensionmanager_Model_Package_Status::DEFAULT_STATUS); } return $this; }
public function doVerifyTransaction(array $options = array()) { $this->setOptions($options); $this->_checkRequiredOptions(array('reservationnumber', 'merchantcode', 'amount', 'key')); $signedData = $this->_signRequest(); $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $client = new Zend_Http_Client(APPLICATION_ENV == 'production' ? $this->_VERIFY : $this->_TEST_VERIFY, array('adapter' => $adapter)); $client->setMethod(Zend_Http_Client::POST); $client->setParameterPost('x_fp_hash', $signedData); $client->setParameterPost('x_login', $this->merchantcode); $client->setParameterPost('x_amount', $this->amount); $client->setParameterPost('x_currency_code', self::CURRENCY); $client->setParameterPost('x_fp_sequence', $this->reservationnumber); $client->setParameterPost('x_fp_timestamp', $this->x_fp_timestamp); $client->setParameterPost('x_description', "ADP"); $result = $client->request(); $body = $result->getBody(); $contents = explode("\r\n", $body); preg_match_all('|(?<key>\\w+)=(?<value>\\w+)?&?|', $contents[0], $response); $response = array_combine($response['key'], $response['value']); if ($this->_validateHash($response) && $response['x_response_code'] == '1') { return 1; } else { return 0; } }