本文整理匯總了PHP中Curl::simple_get方法的典型用法代碼示例。如果您正苦於以下問題:PHP Curl::simple_get方法的具體用法?PHP Curl::simple_get怎麽用?PHP Curl::simple_get使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Curl
的用法示例。
在下文中一共展示了Curl::simple_get方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: execute
public static function execute($params)
{
$curl = new Curl();
$url = 'http://reseller.enom.com/interface.asp';
$options = array();
foreach ($params as $key => $param) {
$option = "{$key}={$param}";
array_push($options, $option);
}
$myOptions = implode('&', $options);
$req = $url . '?' . $myOptions;
$output = $curl->simple_get($req);
$xml = simplexml_load_string($output);
$json = json_encode($xml);
$array = json_decode($json, TRUE);
return $array;
}
示例2: curlData
/**
* Curl data
*
* @return void
* @author apple
**/
function curlData($url, $params = array(), $type = 'GET', $debug = 0, $options = array())
{
$cl = new Curl();
if ($type == 'GET') {
$params = $params ? '?' . MY_paraseGetArray($params) : "";
$curl['url'] = site_url($url . $params);
$json = $cl->simple_get($curl['url'], $options);
} else {
$curl['url'] = site_url($url);
$json = $cl->simple_post($curl['url'], $params, $options);
}
if ($debug) {
$cl->debug();
}
// debug
$json = json_decode($json, TRUE);
return $json;
}
示例3: get_stop_by_time
/**
* @param $sid: stop_id defined by railtime
* @param $sn: according to $sid
* @param $time: time in ISO 8601
* @param $da: enum('D','A') (Departure / Arrival)
*
* involves one single curl request
* usually invoked by get_stop($sid,$date)
*/
private function get_stop_by_time($sid, $sn, $time, $da)
{
if ($da != 'D' && $da != 'A') {
return FALSE;
}
$url = 'http://www.railtime.be/mobile/HTML/StationDetail.aspx';
$dt = Date('d/m/Y', strtotime($time));
$ti = Date('H:i', strtotime($time));
/* add parameters */
$params = array();
$params['l'] = 'NL';
$params['sid'] = $sid;
// station id
$params['sn'] = $sn;
// station name
$params['dt'] = $dt;
// date
$params['ti'] = $ti;
// time
$params['da'] = $da;
// enum('D','A') departure or arrival
/* build url & get data */
$url .= '?' . http_build_query($params);
$curl = new \Curl();
$result = $curl->simple_get($url);
if (!is_null($curl->error_code)) {
$curl->setDefaults();
return FALSE;
}
$time_match = array();
preg_match_all('/\\(\\d\\d:\\d\\d\\ -\\ (\\d\\d:\\d\\d)\\)/si', $result, $time_match);
if (!isset($time_match[1][0])) {
return ['end_time' => '01:30', 'service_stops' => array()];
}
$end_time = $time_match[1][0];
/* parse data */
$matches1 = array();
preg_match_all('/\\<tr\\ class.+?\\>(.+?)\\<\\/tr\\>/si', $result, $matches1);
$service_stops = array();
foreach (@end($matches1) as $vehicle) {
$v = array();
/* do some parsing */
$matches2 = array();
preg_match_all('/\\<label.*?\\>(.*?)\\<\\/label\\>/si', $vehicle, $matches2);
$matches3 = array();
preg_match_all('/&tid=(\\d+)&/si', $vehicle, $matches3);
/* fill in the variables */
$vars = @$matches2[1];
$tid = reset(@end($matches3));
list($hour, $minutes) = explode(':', $vars[0]);
$planned = Date('c', mktime(intval($hour), intval($minutes), 0, date('m', strtotime($time)), date('d', strtotime($time)), date('Y', strtotime($time))));
$v['type'] = substr($vars[3], 1, -1);
$v['headsign'] = html_entity_decode($vars[2], ENT_HTML5, "UTF-8");
if (!preg_match('/\\*\\*\\*/', $vars[5])) {
$v['platform'] = trim($vars[5]);
}
/* Don't drop this data because it is used for displaying
an entry at the right spot even if the vehicle is cancelled */
if ($da == 'D') {
$v['departure_time'] = date('c', strtotime($planned));
} else {
$v['arrival_time'] = date('c', strtotime($planned));
}
$v['tid'] = $tid;
$v['sid'] = $sid;
$v['agency'] = 'NMBS-SNCB';
$v['date'] = date('Ymd', strtotime($time));
$service_stops[$tid] = $v;
}
return ['end_time' => $end_time, 'service_stops' => $service_stops];
}
示例4: refresh_map_tile
function refresh_map_tile($x, $y, $regionImage)
{
$success = false;
$curl = new Curl();
$maptile = $curl->simple_get($regionImage);
if ($maptile) {
if (!add_map_tile($x, $y, $maptile)) {
log_message('warn', "Unable to upload map image from {$regionImage}");
} else {
$success = true;
}
} else {
log_message('warn', "unable to fetch map image from {$regionImage}");
}
return $success;
}
示例5: postLicenseManager
/**
* License Manager
*
* Allows to check plans and activate a license key
*/
public function postLicenseManager($method = NULL)
{
// Include libraries
require_once app_path() . "/libraries/Curl/Curl.php";
// Validate the request
if ($this->_isValidRequest()) {
$code = Input::get('code') ? Input::get('code') : Input::get('amp;code');
$license_key = Input::get('license');
$guid = Input::get('guid') ? Input::get('guid') : Input::get('amp;guid');
if (!$code or !$license_key) {
$this->_invalidRequest("Code and License Key parameters are required");
}
// Get product code and then fetch secret key
$product = Product::where('code', '=', $code)->first();
if (!$product) {
$this->_invalidRequest("Product was not found, contact support.");
}
// Get License Data
$license = License::where("license_key", "=", $license_key)->first();
if (!$license) {
$this->_invalidRequest("License Key was not found");
}
// Get all active plans of a buyer
if (!$method) {
$transaction = Transaction::where("id", "=", $license->transaction_id)->first();
$buyer_email = $transaction->purchase->buyer->email;
$curl = new Curl();
$plans = $curl->simple_get($product->api_url, array("getPlans" => $buyer_email), array(CURLOPT_BUFFERSIZE => 10));
$plans = json_decode($plans);
if ($plans) {
$plans->created_at = $license->created_at;
die(json_encode($plans));
} else {
die(json_encode(array()));
}
}
// Activate license key for a GUID
if ($method == "activate") {
// Check if License is already activated
if (!$guid) {
$this->_invalidRequest("GUID parameter is required");
}
// Total Licenses Used
$totalLicensesUsed = LicensesUses::where("license_id", "=", $license->id)->count();
if (!$license->status) {
$response = array("success" => "false", "overusage" => "false");
} else {
// If user has allowed usage
if ($totalLicensesUsed >= $license->allowed_usage) {
$response = array("success" => "false", "overusage" => "true");
} else {
$licensesUses = LicensesUses::where("license_id", "=", $license->id)->where("guid", "=", $guid)->first();
if ($licensesUses) {
// Update last checked
$licensesUses->last_checked = time();
$licensesUses->save();
} else {
// Add to DB
$licensesUses = new LicensesUses();
$licensesUses->license_id = $license->id;
$licensesUses->guid = $guid;
$licensesUses->activated_at = time();
$licensesUses->last_checked = time();
$licensesUses->save();
}
$response = array("success" => "true", "overusage" => "false");
}
}
die(json_encode($response));
}
}
}
示例6: postPaypalOto
/**
* Post OTO for paypal
*/
public function postPaypalOto()
{
$product_id = Input::get('product_id');
$plan_id = Input::get('plan_id');
$buyer_id = Input::get('buyer_id');
$product = Product::where('id', '=', $product_id)->first();
$plan = Plan::where('id', '=', $plan_id)->first();
$buyer = Buyer::where('id', '=', $buyer_id)->first();
// $plan->price $plan->name $plan->id
// PayPal SetExpressCheckout
$config = array('mode' => Config::get('project.paypal_mode'), 'acct1.UserName' => Config::get('project.paypal_api_username'), 'acct1.Password' => Config::get('project.paypal_api_password'), 'acct1.Signature' => Config::get('project.paypal_api_signature'));
/*
* The SetExpressCheckout API operation initiates an Express Checkout transaction
* This sample code uses Merchant PHP SDK to make API call
*/
$returnUrl = url("checkout/paypal-confirm-oto");
//"http://secure.digitalkickstart.com/checkout/paypal-confirm-oto";
$cancelUrl = url("checkout/paypal-cancel");
//"http://secure.digitalkickstart.com/checkout/paypal-cancel";
$currencyCode = 'USD';
$orderTotal = $plan->price + $plan->setup_fee;
// If recurring then process manually without PayPal Merchant SDK
if ($plan->is_recurring) {
// For Recurring
$ecRequestParams = array('USER' => Config::get('project.paypal_api_username'), 'PWD' => Config::get('project.paypal_api_password'), 'SIGNATURE' => Config::get('project.paypal_api_signature'), 'VERSION' => '109.0', 'METHOD' => 'SetExpressCheckout', 'RETURNURL' => $returnUrl, 'CANCELURL' => $cancelUrl, 'PAYMENTREQUEST_0_AMT' => $orderTotal, 'PAYMENTREQUEST_0_CURRENCYCODE' => 'USD', 'PAYMENTREQUEST_0_PAYMENTACTION' => 'Sale', 'REQCONFIRMSHIPPING' => 0, 'NOSHIPPING' => 1, 'PROFILESTARTDATE' => date(DATE_ATOM, time() + 86400 * 30 * $plan->recurring_freq), 'L_BILLINGTYPE0' => 'RecurringPayments', 'L_BILLINGAGREEMENTDESCRIPTION0' => $product->name . " - " . $plan->name, 'PAYMENTREQUEST_0_CUSTOM' => 'RecurringPayment');
$ecRequestParams = http_build_query($ecRequestParams);
$curl = new Curl();
$api_url = "https://api-3t.paypal.com/nvp?";
if (Config::get('project.paypal_mode') == 'sandbox') {
$api_url = "https://api-3t.sandbox.paypal.com/nvp?";
}
$api_url = $api_url . $ecRequestParams;
$curl->ssl(false);
$response = $curl->simple_get($api_url);
$data = array();
$key = explode('&', $response);
if (is_array($key)) {
foreach ($key as $temp) {
$keyval = explode('=', $temp);
if (isset($keyval[1])) {
$data[$keyval[0]] = $keyval[1];
}
}
}
if (!empty($data['TOKEN'])) {
$token = $data['TOKEN'];
$payPalURL = Config::get('project.paypal_api_url') . "webscr?cmd=_express-checkout&token={$token}&useraction=commit";
// Store Data in session
Session::put('_product', $product_id);
Session::put('_plan', $plan_id);
Session::put('_buyer', $buyer_id);
return Response::make(json_encode(array("success" => true, "url" => $payPalURL)));
}
Session::flash('error', "Payment processing error");
return json_encode(array("error" => true, "message" => "Payment processing error"));
}
// details about payment
$paymentDetails = new PayPal\EBLBaseComponents\PaymentDetailsType();
// total order amount
$paymentDetails->OrderTotal = new PayPal\CoreComponentTypes\BasicAmountType($currencyCode, $orderTotal);
$paymentDetails->PaymentAction = 'Sale';
$paymentDetails->Custom = $plan->id;
$paymentDetails->OrderDescription = $product->name . " - " . $plan->name;
$itemDetails = new PayPal\EBLBaseComponents\PaymentDetailsItemType();
$itemDetails->Name = $product->name . " - " . $plan->name;
$itemDetails->Amount = $orderTotal;
$paymentDetails->PaymentDetailsItem[0] = $itemDetails;
$setECReqDetails = new PayPal\EBLBaseComponents\SetExpressCheckoutRequestDetailsType();
$setECReqDetails->PaymentDetails[0] = $paymentDetails;
/*
* (Required) URL to which the buyer is returned if the buyer does not approve the use of PayPal to pay you. For digital goods, you must add JavaScript to this page to close the in-context experience.
*/
$setECReqDetails->CancelURL = $cancelUrl;
/*
* (Required) URL to which the buyer's browser is returned after choosing to pay with PayPal. For digital goods, you must add JavaScript to this page to close the in-context experience.
*/
$setECReqDetails->ReturnURL = $returnUrl;
$setECReqDetails->NoShipping = TRUE;
$setECReqType = new PayPal\PayPalAPI\SetExpressCheckoutRequestType();
$setECReqType->SetExpressCheckoutRequestDetails = $setECReqDetails;
$setECReq = new PayPal\PayPalAPI\SetExpressCheckoutReq();
$setECReq->SetExpressCheckoutRequest = $setECReqType;
$paypalService = new PayPal\Service\PayPalAPIInterfaceServiceService($config);
try {
/* wrap API method calls on the service object with a try catch */
$setECResponse = $paypalService->SetExpressCheckout($setECReq);
} catch (Exception $ex) {
return Response::make(json_encode(array("error" => true, "message" => "Payment processing error")));
}
if (isset($setECResponse)) {
if ($setECResponse->Ack == 'Success') {
$token = $setECResponse->Token;
// Redirect to paypal.com here
$payPalURL = Config::get('project.paypal_api_url') . "webscr?cmd=_express-checkout&token={$token}&useraction=commit";
// Store Data in session
Session::put('_product', $product_id);
Session::put('_plan', $plan_id);
//.........這裏部分代碼省略.........