PHP Classes

File: php/php_curl_tips_trick.php

Recommend this page to a friend!
  Classes of Kabir Hossain   PHP CodeIgniter Tips Tricks   php/php_curl_tips_trick.php   Download  
File: php/php_curl_tips_trick.php
Role: Auxiliary script
Content type: text/plain
Description: Configuration script
Class: PHP CodeIgniter Tips Tricks
Collection of tips and examples to use CodeIgniter
Author: By
Last change:
Date: 16 days ago
Size: 3,219 bytes
 

Contents

Class file image Download
<?php
//
// A very simple PHP example that sends a HTTP POST to a remote site
//

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://www.mysite.com/tester.phtml");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
           
"postvar1=value1&postvar2=value2&postvar3=value3");

// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec ($ch);

curl_close ($ch);

// further processing ....
if ($server_output == "OK") { ... } else { ... }


# END SIMPLE
# GET JSON DATA
// jSON URL which should be requested
$json_url = 'http://www.mydomain.com/json_script.json';
 
$username = 'your_username'; // authentication
$password = 'your_password'; // authentication
 
// jSON String for request
$json_string = '[your json string here]';
 
// Initializing curl
$ch = curl_init( $json_url );
 
// Configuring curl options
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => $username . ":" . $password, // authentication
CURLOPT_HTTPHEADER => array('Content-type: application/json') ,
CURLOPT_POSTFIELDS => $json_string
);
 
// Setting curl options
curl_setopt_array( $ch, $options );
 
// Getting results
$result = curl_exec($ch); // Getting jSON result string
# END GET JSON DATA


//extract data from the post
extract($_POST);

//set POST variables
$url = 'http://domain.com/get-post.php';
$fields = array(
           
'lname' => urlencode($last_name),
           
'fname' => urlencode($first_name),
           
'title' => urlencode($title),
           
'company' => urlencode($institution),
           
'age' => urlencode($age),
           
'email' => urlencode($email),
           
'phone' => urlencode($phone)
        );

//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//bellow for config ssl
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
//curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/CAcerts/BuiltinObjectToken-EquifaxSecureCA.crt");

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);
// for further reading, go to http://davidwalsh.name/curl-post

# ANOTHER WAY TO DO

// I did something like this:

$foo["data"] = base64_encode(json_encode($_POST));

$url = 'http://domain.com/get-post.php';

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$foo);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);
//?

//The script its receive the data:

//inverse proccess
$data = json_decode(base64_decode($_POST["data"]));

// you don?t need to urlencode, reparse objects, url-ify fields, the data travel ?encrypted? and you can send more complex data structures