You are here: Re: Retrieve and display 3rd party pages « PHP Programming Language « IT news, forums, messages
Re: Retrieve and display 3rd party pages

Posted by petersprc on 10/29/06 05:12

Hi,

You could fetch a remote URL using PHP's URL wrappers. For example,
readfile can stream the contents of a remote URL:

readfile('http://site/content/page.html');

You could also do this with mod_proxy:

ProxyPass /my/mirror/ http://site/content/

Requests for /my/mirror/* will be internally sent to the remote site.
If the page contains internal links that use absolute URLs, you may
want to use mod_proxy_html to rewrite those URLs or use an output
buffer handler. More info on using mod_proxy_html:

<http://www.wlug.org.nz/ApacheReverseProxy>

You could also use a proxy application such as PHP Proxy
(www.phpproxy.com).

Since many browsers can automatically decompress gzip-compressed
content, you wouldn't need to worry about decompressing it yourself. If
you still wanted to do this however, you could use a shell command.
Some code to do that:

<?

// Sample usage:
//
// zcatUrl('http://site/file.html.gz')
//
// That will decompress the remote URL and stream content
// to the browser.

function zcatUrl($url)
{
$errors = tempnam('/tmp', 'zcatUrl-');
$cmd = 'wget -O - ' . escapeshellarg($url) .
' 2> ' . escapeshellarg($errors) . ' | zcat';
passthru($cmd, $exitCode);

if ($exitCode != 0) {
$msg = "Command \"$cmd\" failed with exit code $exitCode";
$err = false;
if (is_file($errors)) {
$err = file_get_contents($errors) or
trigger_error("Failed to read file $errors.");
}
$msg .= $err !== false ? ": $err" : '.';
trigger_error($msg);
}

if (is_file($errors)) {
unlink($errors) or
trigger_error("Failed to delete file $errors");
}
}

?>

* Tong * wrote:
> Hi,
>
> I'm wondering if you can show me an example php page that allows me to
> retrieve and display 3rd party pages. I.e.,
>
> when my php script is called as http://site/path/getit.php?file_key
> it can retrieve from http://3rd.party/path2/name-with-file_key.htm
> and display the result back to the browser.
>
> I don't know php, and start to learning it. So I hope you can give me a full
> php page, not a segment. I don't think it'd be too long though. Luckily, I'm
> a programmer, so you don't need to comment it much, unless it is too
> convoluted.
>
> Further, if you can throw in handling of gzipped files, that'd be super.
>
> If you have Firefox, it can automagically gunzipped gzipped files, like
>
> http://www.gnu.org/software/bash/manual/bashref.html.gz
>
> So I hope the script http://site/path/getit.php?bashref
>
> can display the content of
>
> http://www.gnu.org/software/bash/manual/bashref.html.gz
>
> thanks
>
>
> --
> Tong (remove underscore(s) to reply)
> http://xpt.sourceforge.net/
>
>
> --
> Posted via a free Usenet account from http://www.teranews.com

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация