本文整理汇总了PHP中Varien_Http_Adapter_Curl类的典型用法代码示例。如果您正苦于以下问题:PHP Varien_Http_Adapter_Curl类的具体用法?PHP Varien_Http_Adapter_Curl怎么用?PHP Varien_Http_Adapter_Curl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Varien_Http_Adapter_Curl类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _executeRequests
/**
* Prepares and executes requests by given request_paths values
*
* @param array $info
* @param Varien_Http_Adapter_Curl $adapter
*/
protected function _executeRequests(array $info, Varien_Http_Adapter_Curl $adapter)
{
$storeId = $info['store_id'];
$options = array(CURLOPT_USERAGENT => self::USER_AGENT, CURLOPT_SSL_VERIFYPEER => 0);
$threads = $this->_getCrawlerThreads($storeId);
if (!$threads) {
$threads = 1;
}
if (!empty($info['cookie'])) {
$options[CURLOPT_COOKIE] = $info['cookie'];
}
$urls = array();
$offset = 0;
Mage::getSingleton('core/session')->setCrawlerOffset($offset);
while ($rewrites = $this->_getResource()->getRequestPaths($storeId)) {
foreach ($rewrites as $rewriteRow) {
$url = $this->_getUrlByRewriteRow($rewriteRow, $info['base_url'], $storeId);
$urls[] = $url;
if (count($urls) == $threads) {
$adapter->multiRequest($urls, $options);
$urls = array();
}
}
$offset += self::BATCH_SIZE;
Mage::getSingleton('core/session')->setCrawlerOffset($offset);
}
if (!empty($urls)) {
$adapter->multiRequest($urls, $options);
}
}
示例2: ipnPostSubmit
public function ipnPostSubmit()
{
// Give PAP access to the data so it can handle any needed commissions
try {
$papModel = Mage::getModel('pap/pap');
$postData = $this->getIpnFormData();
$customdata = explode('~~~a469ccb0-767c-4fed-96de-99427e1783aa~~~', $postData['custom']);
$saleData = isset($customdata[0]) ? $customdata[0] : null;
$cookieValue = isset($customdata[1]) ? $customdata[1] : null;
// Convert the JSON data into a usable array
$saleData = json_decode($saleData);
$saleData = $this->ForceArray($saleData);
$sReq = '';
foreach ($this->getIpnFormData() as $k => $v) {
$sReq .= '&' . $k . '=' . urlencode(stripslashes($v));
}
//append ipn commdn
$sReq .= "&cmd=_notify-validate";
$sReq = substr($sReq, 1);
$http = new Varien_Http_Adapter_Curl();
$http->write(Zend_Http_Client::POST, $this->getPaypalUrl(), '1.1', array(), $sReq);
$response = $http->read();
$response = preg_split('/^\\r?$/m', $response, 2);
$response = trim($response[1]);
if ($response == 'VERIFIED') {
$papModel->registerSaleDetails($saleData, isset($cookieValue) ? $cookieValue : null);
}
} catch (Exception $e) {
Mage::log('Caught exception while trying to log PayPal sale: ' . $e->getMessage() . "\n");
}
// let the base class go on to do whatever processing it was going to do
parent::ipnPostSubmit();
}
示例3: send
/**
* This method will send call to external end points using GET or POST method
*
* @param type $apiType url that needs to be called
* @param type $requestType GET or POST
* @param type $data model data that needs to be send with url
* @return type json
* @throws Exception
*/
public function send($apiType, $requestType, $data)
{
$curlAdapter = new Varien_Http_Adapter_Curl();
$curlAdapter->setConfig(array('timeout' => 20));
$body_param = Mage::helper('core')->jsonEncode($data);
$header = $this->getHeader();
try {
$curlAdapter->write($requestType, $apiType, '1.1', $header, $body_param);
$result = $curlAdapter->read();
$response = preg_split('/^\\r?$/m', $result, 2);
$response = trim($response[1]);
$res = NULL;
if (!is_null($response) && !empty($response)) {
$res = Mage::helper('core')->jsonDecode($response);
} else {
Mage::log('Encountered problems trying to contact Terapeak');
Mage::log($curlAdapter->getError());
}
} catch (Exception $e) {
//eat the execption. We should not crash the magento instance if our extention throws exceptions
Mage::log('Exception when trying to send data to Terapeak:');
Mage::log($e);
}
return $res;
}
示例4: requestUrls
public function requestUrls($urls, $verbose = true)
{
$adapter = new Varien_Http_Adapter_Curl();
$options = array(CURLOPT_USERAGENT => self::USER_AGENT, CURLOPT_HEADER => true);
$multiResult = $adapter->multiRequest($urls, $options);
foreach ($multiResult as $urlId => $content) {
$urlModel = Mage::getModel('fpc/crawler_url')->load($urlId);
$this->_removeDublicates($urlModel);
$matches = array();
preg_match('/Fpc-Cache-Id: (' . Mirasvit_Fpc_Model_Processor::REQUEST_ID_PREFIX . '[a-z0-9]{32})/', $content, $matches);
if (count($matches) == 2) {
$cacheId = $matches[1];
if ($urlModel->getCacheId() != $cacheId) {
$urlModel->setCacheId($cacheId)->save();
}
if ($verbose) {
echo 'CACHED ' . $urls[$urlId] . PHP_EOL;
}
} else {
if ($verbose) {
echo 'REMOVED ' . $urls[$urlId] . PHP_EOL;
}
$urlModel->delete();
}
}
return $this;
}
示例5: isValidVies
public function isValidVies($taxvat, $countryCode)
{
if ('UK' === $countryCode) {
$countryCode = 'GB';
}
if (!isset($this->_patterns[$countryCode])) {
$this->_message = 'The provided CountryCode is invalid for the VAT number';
return false;
}
// $vies = new SoapClient('http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl');
// $check = new firecheckoutCheckVat($countryCode, $taxvat);
// try {
// $ret = $vies->checkVat($check);
// } catch (SoapFault $e) {
// $ret = $e->faultstring;
// $pattern = '/\{ \'([A-Z_]*)\' \}/';
// $n = preg_match($pattern, $ret, $matches);
// $ret = $matches[1];
// $faults = array(
// 'INVALID_INPUT' => 'The provided CountryCode is invalid or the VAT number is empty',
// 'SERVICE_UNAVAILABLE' => 'The SOAP service is unavailable, try again later',
// 'MS_UNAVAILABLE' => 'The Member State service is unavailable, try again later or with another Member State',
// 'TIMEOUT' => 'The Member State service could not be reached in time, try again later or with another Member State',
// 'SERVER_BUSY' => 'The service cannot process your request. Try again later.'
// );
// $this->_message = $faults[$ret];
// return false;
// }
// return true;
try {
$http = new Varien_Http_Adapter_Curl();
$http->setConfig(array('timeout' => 30));
$http->write(Zend_Http_Client::POST, 'http://ec.europa.eu/taxation_customs/vies/viesquer.do', '1.1', array(), http_build_query(array('ms' => $countryCode, 'iso' => $countryCode, 'vat' => $taxvat)));
$response = $http->read();
$http->close();
} catch (Exception $e) {
throw $e;
}
$response = str_replace(array("\n", "\r", "\t"), '', $response);
if (empty($response) || strstr($response, 'Yes, valid VAT number')) {
// if service is not available of correct vat number
return true;
} elseif (strstr($response, 'No, invalid VAT number')) {
$this->_message = 'Invalid VAT number';
} elseif (strstr($response, 'Service unavailable')) {
$this->_message = 'The VAT validation service unavailable. Please re-submit your request later.';
} elseif (strstr($response, 'Member State service unavailable')) {
$this->_message = 'The VAT validation service unavailable. Please re-submit your request later.';
} elseif (strstr($response, 'Error: Incomplete')) {
$this->_message = 'The provided CountryCode is invalid or the VAT number is empty';
} elseif (strstr($response, 'Request time-out')) {
$this->_message = 'The VAT validation service cannot process your request. Try again later.';
} elseif (strstr($response, 'System busy')) {
$this->_message = 'The VAT validation service cannot process your request. Try again later.';
} else {
$this->_message = 'Unknown VAT validation service message. Try again later.';
}
return false;
}
示例6: talkToNewRelic
/**
* Talk to new relic
*
* @param string $restPoint
* @return string
*/
public function talkToNewRelic($restPoint)
{
$headers = array('x-api-key:' . $this->_api_key);
$http = new Varien_Http_Adapter_Curl();
$http->write('GET', 'https://api.newrelic.com/api/v1/accounts/' . $this->_account_Id . '/' . $restPoint . '.xml', '1.1', $headers);
$response = $http->read();
$response = Zend_Http_Response::extractBody($response);
return $response;
}
示例7: _loadUrl
protected function _loadUrl($url)
{
$curl = new Varien_Http_Adapter_Curl();
$curl->setConfig(array('timeout' => 30));
$curl->write(Zend_Http_Client::GET, $url, '1.0');
$text = $curl->read();
$text = preg_split('/^\\r?$/m', $text, 2);
$text = trim($text[1]);
return $text;
}
示例8: isSurveyUrlValid
/**
* Check if survey url valid (exists) or not
*
* @return boolen
*/
public static function isSurveyUrlValid()
{
$curl = new Varien_Http_Adapter_Curl();
$curl->setConfig(array('timeout' => 5))->write(Zend_Http_Client::GET, self::getSurveyUrl(), '1.0');
$response = $curl->read();
if (Zend_Http_Response::extractCode($response) == 200) {
return true;
}
return false;
}
示例9: _isFileAccessible
/**
* If file is accessible return true or false
*
* @return bool
*/
private function _isFileAccessible()
{
$defaultUnsecureBaseURL = (string) Mage::getConfig()->getNode('default/' . Mage_Core_Model_Store::XML_PATH_UNSECURE_BASE_URL);
$http = new Varien_Http_Adapter_Curl();
$http->setConfig(array('timeout' => $this->_verificationTimeOut));
$http->write(Zend_Http_Client::POST, $defaultUnsecureBaseURL . $this->_filePath);
$responseBody = $http->read();
$responseCode = Zend_Http_Response::extractCode($responseBody);
$http->close();
return $responseCode == 200;
}
示例10: createApiPost
public function createApiPost($path, $data)
{
try {
$config = array('timeout' => 30);
$http = new Varien_Http_Adapter_Curl();
$feed_url = self::YOTPO_API_URL . DS . $this->app_key . DS . $path;
$http->setConfig($config);
$http->write(Zend_Http_Client::POST, $feed_url, '1.1', array('Content-Type: application/json'), json_encode($data));
$resData = $http->read();
} catch (Exception $e) {
Mage::log('error: ' . $e);
}
}
示例11: call
/**
* Do the API call
*
* @param string $methodName
* @param array $request
* @return array
* @throws Mage_Core_Exception
*/
public function call($methodName, array $request)
{
$request = $this->_addMethodToRequest($methodName, $request);
$eachCallRequest = $this->_prepareEachCallRequest($methodName);
if ($this->getUseCertAuthentication()) {
if ($key = array_search('SIGNATURE', $eachCallRequest)) {
unset($eachCallRequest[$key]);
}
}
$request = $this->_exportToRequest($eachCallRequest, $request);
$debugData = array('url' => $this->getApiEndpoint(), $methodName => $request);
try {
$http = new Varien_Http_Adapter_Curl();
$config = array('timeout' => 30, 'verifypeer' => $this->_config->verifyPeer);
if ($this->getUseProxy()) {
$config['proxy'] = $this->getProxyHost() . ':' . $this->getProxyPort();
}
if ($this->getUseCertAuthentication()) {
$config['ssl_cert'] = $this->getApiCertificate();
}
$http->setConfig($config);
$http->write(Zend_Http_Client::POST, $this->getApiEndpoint(), '1.1', $this->_headers, $this->_buildQuery($request));
$response = $http->read();
} catch (Exception $e) {
$debugData['http_error'] = array('error' => $e->getMessage(), 'code' => $e->getCode());
$this->_debug($debugData);
throw $e;
}
$response = preg_split('/^\\r?$/m', $response);
$response = trim(end($response));
$response = $this->_deformatNVP($response);
$debugData['response'] = $response;
$this->_debug($debugData);
$response = $this->_postProcessResponse($response);
// handle transport error
if ($http->getErrno()) {
Mage::logException(new Exception(sprintf('PayPal NVP CURL connection error #%s: %s', $http->getErrno(), $http->getError())));
$http->close();
Mage::throwException(Mage::helper('paypal')->__('Unable to communicate with the PayPal gateway.'));
}
// cUrl resource must be closed after checking it for errors
$http->close();
if (!$this->_validateResponse($methodName, $response)) {
Mage::logException(new Exception(Mage::helper('paypal')->__("PayPal response hasn't required fields.")));
Mage::throwException(Mage::helper('paypal')->__('There was an error processing your order. Please contact us or try again later.'));
}
$this->_callErrors = array();
if ($this->_isCallSuccessful($response)) {
if ($this->_rawResponseNeeded) {
$this->setRawSuccessResponseData($response);
}
return $response;
}
$this->_handleCallErrors($response);
return $response;
}
示例12: _call
/**
* Make a call to Payment Bridge service with given request parameters
*
* @param array $request
* @return array
* @throws Mage_Core_Exception
*/
protected function _call(array $request)
{
$response = null;
$debugData = array('request' => $request);
try {
$http = new Varien_Http_Adapter_Curl();
$config = array('timeout' => 30);
$http->setConfig($config);
$http->write(Zend_Http_Client::POST, $this->getPbridgeEndpoint(), '1.1', array(), $this->_prepareRequestParams($request));
$response = $http->read();
$http->close();
} catch (Exception $e) {
$debugData['result'] = array('error' => $e->getMessage(), 'code' => $e->getCode());
$this->_debug($debugData);
throw $e;
}
$this->_debug($response);
if ($response) {
$response = preg_split('/^\\r?$/m', $response, 2);
$response = Mage::helper('core')->jsonDecode(trim($response[1]));
$debugData['result'] = $response;
$this->_debug($debugData);
if ($http->getErrno()) {
Mage::logException(new Exception(sprintf('Payment Bridge CURL connection error #%s: %s', $http->getErrno(), $http->getError())));
Mage::throwException(Mage::helper('enterprise_pbridge')->__('Unable to communicate with Payment Bridge service.'));
}
if (isset($response['status']) && $response['status'] == 'Success') {
$this->_response = $response;
return true;
}
}
$this->_handleError($response);
$this->_response = $response;
return false;
}
示例13: sendRequest
public function sendRequest($request, $parameters = array())
{
if (!$this->code || !$this->username || !$this->password) {
return false;
}
if ($request != 'verifyUser' && !$this->session) {
return false;
}
$parameters['sessionKey'] = $this->session;
$parameters['request'] = $request;
$parameters['version'] = '1.0';
$parameters['clientCode'] = $this->code;
$url = $this->getUrl();
$http = new Varien_Http_Adapter_Curl();
$http->setConfig(array('timeout' => 100));
// $http->write(Zend_Http_Client::POST, $parameters);
$http->write(Zend_Http_Client::POST, $url, CURL_HTTP_VERSION_1_0, array(), $parameters);
$responseBody = Zend_Http_Response::extractBody($http->read());
$http->close();
if (Mage::getStoreConfig('eepohs_erply/general/log_requests')) {
Mage::log("REQUEST URL: " . $url . "\nREQUEST PARAMETERS:\n" . print_r($parameters, true) . "\nRESPONSE:\n" . $responseBody, null, self::REQUEST_LOG);
}
// $http = new Varien_Http_Adapter_Curl();
// $config = array('timeout' => 30);
//
// $http->setConfig($config);
// $http->write(Zend_Http_Client::POST, $url, '1.0', array(), http_build_query($parameters));
// $content = Zend_Http_Response::extractBody($http->read());
// print_r(Zend_Http_Response::extractHeaders($http->read()));
//return $content;
// $ch = curl_init();
// curl_setopt($ch, CURLOPT_URL, $url);
// curl_setopt($ch, CURLOPT_HEADER, 1);
// curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
// curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
// curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// curl_setopt($ch, CURLOPT_POST, true);
// curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
//
// if (curl_exec($ch) === false)
// return false;
//
// $content = curl_multi_getcontent($ch);
// curl_close($ch);
// list($header1, $header2, $body) = explode("\r\n\r\n", $content, 3);
return $responseBody;
}
示例14: call
/**
* Perform a CURL call and log request end response to logfile
*
* @param array $params
* @return mixed
*/
public function call($params, $url)
{
try {
$http = new Varien_Http_Adapter_Curl();
$config = array('timeout' => 30);
$http->setConfig($config);
$http->write(Zend_Http_Client::POST, $url, '1.1', array(), http_build_query($params));
$response = $http->read();
$response = substr($response, strpos($response, "<?xml"), strlen($response));
return $response;
} catch (Exception $e) {
Mage::logException($e);
Mage::throwException(Mage::helper('ops')->__('Barclaycard server is temporarily not available, please try again later.'));
}
}
示例15: getClientData
public function getClientData()
{
$eadesignUrl = 'https://www.eadesign.ro/';
$extension = 'Eadesigndev_Awb';
$moduleVersion = Mage::getConfig()->getModuleConfig($extension)->version;
$baseUrl = 'track/index/update?url=' . Mage::getBaseUrl();
$version = '&version=' . $moduleVersion;
$moduleExtension = '&extension=' . $extension;
$url = $eadesignUrl . $baseUrl . $version . $moduleExtension;
$curl = new Varien_Http_Adapter_Curl();
$curl->setConfig(array('timeout' => 3));
$curl->write(Zend_Http_Client::GET, $url, '1.0');
$curl->read();
$curl->close();
}