How to proxy another page in PHP(如何在 PHP 中代理另一个页面)
问题描述
我正在寻找用 PHP 代理页面的最快和最简单的方法.我不希望用户被重定向,我只希望我的脚本返回与另一个远程 URL 相同的内容、响应代码和标头.
I'm looking for the fastest and easiest way to proxy a page in PHP. I don't want the user to be redirected, I just want my script to return the same content, response code and headers as another remote URL.
推荐答案
echo file_get_contents('proxypage');
那行得通吗?
第一个答案有点短,我不相信它会按照您的意愿处理标题.
First answer was a bit short, and I don't believe it will handle headers as you would like.
但是你也可以这样做:
function get_proxy_site_page( $url )
{
$options = [
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => true, // return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
CURLOPT_TIMEOUT => 120, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
];
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$remoteSite = curl_exec($ch);
$header = curl_getinfo($ch);
curl_close($ch);
$header['content'] = $remoteSite;
return $header;
}
这将返回一个包含大量远程页面信息的数组.$header['content']
将包含网站的内容和标题,$header[header_size]
将包含该标题的长度,因此您可以使用 substr
将它们分开.
This will return you an array containing lots of information on the remote page. $header['content']
will have both the content of the website and the headers, $header[header_size]
will contain the length of that header so you can use substr
to split those up.
然后只需要使用echo
和header
来代理页面即可.
Then it's just a matter of using echo
and header
to proxy the page.
这篇关于如何在 PHP 中代理另一个页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 PHP 中代理另一个页面


- 使用 GD 和 libjpeg 支持编译 PHP 2022-01-01
- Laravel 5:Model.php 中的 MassAssignmentException 2021-01-01
- openssl_digest vs hash vs hash_hmac?盐与盐的区别HMAC? 2022-01-01
- PHP foreach() 与数组中的数组? 2022-01-01
- 如何从数据库中获取数据以在 laravel 中查看页面? 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- 如何使用 Google API 在团队云端硬盘中创建文件夹? 2022-01-01
- 如何在 Symfony2 中正确使用 webSockets 2021-01-01
- 覆盖 Magento 社区模块控制器的问题 2022-01-01
- PHP - if 语句中的倒序 2021-01-01