On Mar 21, 12:42 pm, A...@flasemi.co m wrote:
I'm trying to pull data from a website and read it into a file the I
can parse. I've done the before to site without post variables but I
can seem to get my statments to work with the post. Can someone help
me out?
below is the code I have so far. Thank in advance...
Here's some code I've used for this... change the port default to 80
if you don't work over SSL... original version of this code was copied
from somewhere, I forget where:
function HTTPS_Post($URL , $dat, $referrer="")
{
// parsing the given URL
$URL_Info=parse _url($URL);
// Building referrer
if($referrer==" ") // if not given use this script as referrer
$referrer=$_SER VER["SCRIPT_URI "];
// making string from $data
foreach($dat as $key=>$value) $values[]="$key=".urlenc ode($value);
$data_string=im plode("&",$valu es);
// Find out which port is needed - if not given use standard (=443)
if(!isset($URL_ Info["port"])) $URL_Info["port"] = 443;
// building POST-request:
$request.="POST ".$URL_Info["path"]." HTTP/1.1\n";
$request.="Host : ".$URL_Info["host"]."\n";
$request.="Refe rer: $referer\n";
$request.="Cont ent-type: application/x-www-form-urlencoded\n";
$request.="Cont ent-length: ".strlen($data_ string)."\n";
$request.="Conn ection: close\n";
$request.="\n";
$request.=$data _string."\n";
$result = '';
if ($fp = fsockopen("ssl://" . $URL_Info["host"], $URL_Info["port"],
$errno, $errstr, 2.0))
{
fputs($fp, $request);
$started = time;
while((!feof($f p)) and ((time - $started) < 5))
{
$result .= @fgets($fp, 128);
}
fclose($fp);
}
return $result;
}