<?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 
 
 |