-1

可能重复:
从另一个网站获取数据

我想创建一个网页,根据用户的要求在其上显示另一个网页。用户输入 URL 并在我的网站上看到他想要的网页。对另一个页面的请求必须来自我的服务器,而不是来自 user。否则我只能使用 iframe。

我愿意把它写在 php 上,因为我知道一些。谁能告诉我必须知道哪些科目才能做到这一点?

4

2 回答 2

0

为此,您需要某种“PHP 代理”,这意味着通过 curl 或 file_get_contents() 获取网站内容。看看这里:http
://davidwalsh.name/curl-download 您的代理脚本可能如下所示:

function get_data($url) {
  $ch = curl_init();
  $timeout = 5;
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}
echo get_data($_GET["url"]);

请注意,您可能需要注意图像的标题等,并且可能还存在一些安全漏洞,但这是基本思想。
现在您必须解析刚获得的初始网站的内容并更改此格式的所有链接:

http://example.com/thecss.css 

http://yoursite.com/proxy.php?url=http://example.com/thecss.css

一些正则表达式或 PHP HTML 解析器可能在这里工作。

于 2013-01-12T12:24:02.353 回答
0

你可以使用

echo file_get_contents('http://google.com')

但是为什么不直接下载一个 php webproxy 包,比如http://sourceforge.net/projects/poxy/

于 2013-01-12T12:16:03.647 回答