I've been up all night trying to figure this out?
I found a script here to help me get fopen to work throguh a proxy, I think that's working, my problem is; I'm tring to retrieve stock data from yahoo via csv, it works if I don't use the proxy but with the proxy fgetcsv return invalid stream;
here's the code,
<?php
function pfopen($url) {
$proxy_server = "165.89.84.86";
$proxy_port = 8080;
if (substr($url, 0,7) <> 'http://') {
return false;
}
$proxycon = fsockopen($proxy_server, $proxy_port, $errno, $errstr);
fputs($proxycon,"GET ".$url." HTTP/1.0 \r\n\r\n");
$reading_headers = true;
while (!feof ($proxycon)) {
$curline = fgets($proxycon, 4096);
if ($curline=="\r\n") {
$reading_headers = false;
}
if (!$reading_headers) {
$filecontent = $curline;
}
}
fclose($proxycon);
return $filecontent;
}
//stock quote script
//this is the url for BMYs stock quote , we are opening it for reading
$fp = pfopen ("http://quote.yahoo.com/d?f=snl1d1t1c1p2va2bapomwerr1dyj1&s=BMY", "r");
//$fp = fopen ("http://finance.yahoo.com/d/quotes.csv?s=msft&f=sl1d1t1c1ohgv&e=.csv","r");
//this uses the fgetcsv function to store the quote info in the array $data
$data = fgetcsv ($fp, 1024, ",");
?>
<!-- this is our table which displays the stock info -->
<!-- we access the individual items by using $data[0]-->
<table>
<tr><td>description</td><td>latest figure</td><tr>
<tr><td>symbol</td><td><?php echo $data[0] ?></td></tr>
<tr><td>last price</td><td><?php echo $data[1] ?></td></tr>
<tr><td>date</td><td><?php echo $data[2] ?></td></tr>
<tr><td>time</td><td><?php echo $data[3] ?></td></tr>
<tr><td>change</td><td><?php echo $data[4] ?></td></tr>
<tr><td>open</td><td><?php echo $data[5] ?></td></tr>
<tr><td>high</td><td><?php echo $data[6] ?></td></tr>
<tr><td>low</td><td><?php echo $data[7] ?></td></tr>
<tr><td>volume</td><td><?php echo $data[8] ?></td></tr>
</table>
<?php
//close the filehandle $fp
fclose ($fp);
?>
anyone idea any idea why?