PHP Classes

posting HTTP

Recommend this page to a friend!

      Top level forums  >  PHP Specialists  >  General  >  posting HTTP  
Subject:posting HTTP
Summary:parameter values are not getting
Messages:10
Author:parasuraman
Date:2010-03-16 01:16:35
Update:2010-03-18 19:49:36
 

  1. posting HTTP   Reply   Report abuse  
Picture of parasuraman parasuraman - 2010-03-16 02:16:26
Hi,

Below is a function which is used to post httprequest.

When i go to the page my_page.php, i am getting array(). I am not getting the values of param1, param2, param3.


my_page.php
print_r($_REQUEST);



//post.php
function PostRequest($url, $referer, $_data) {

// convert variables array to string:
$data = array();
while(list($n,$v) = each($_data)){
$data[] = "$n=$v";
}
$data = implode('&', $data);
// format --> test1=a&test2=b etc.

// parse the given URL
$url = parse_url($url);
if ($url['scheme'] != 'http') {
die('Only HTTP request are supported !');
}

// extract host and path:
$host = $url['host'];
$path = $url['path'];

// open a socket connection on port 80
$fp = fsockopen($host, 80);

// send the request headers:
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data);

$result = '';
while(!feof($fp)) {
// receive the results of the request
$result .= fgets($fp, 128);
}

// close the socket connection:
fclose($fp);

// split the result header from the content
$result = explode("\r\n\r\n", $result, 2);

$header = isset($result[0]) ? $result[0] : '';
$content = isset($result[1]) ? $result[1] : '';

// return as array:
return array($header, $content);
}



/*
** The example:
*/

// submit these variables to the server:
$data = array(
'param1' => '1',
'param2' => '2',
'param3' => '3'
);

// send a request to example.com (referer = jonasjohn.de)
/*
list($header, $content) = PostRequest(
"http://www.example.com/",
"http://www.jonasjohn.de/",
$data
);
*/

list($header, $content) = PostRequest(
"http://localhost/my_page.php",
"http://localhost/my_page.php",
$data
);


// print the result of the whole request:
print $content;

print $header; //--> prints the headers


Thanks

There are 9 replies in this thread, which are not being displayed.
Browsing this forum thread replies is available only to premium subscribers.


Go to the premium subscriptions page to learn how to become a premium subscriber and have full access to this forum.