如何从远程服务器收集HTML源代码响应?

Gol*_*ays 2 html javascript php

在我的一个服务器页面中的HTML代码中,我需要解决搜索位于另一个我自己不拥有的远程服务器的数据库上的特定项目.

执行我的请求的搜索类型示例:http://www.remoteserver.com/items/search.php?search_size = XXX

远程服务器向我(作为客户端)提供响应,该响应显示包含与我的搜索条件匹配的多个项目的页面.

我不想显示此页面.我想要的是收集到一个字符串(或本地文件)远程服务器HTML响应的全部内容(当我们点击我的IE浏览器客户端中的"查看源"时我们可以访问的代码).

如果我收集该数据(它可以轻松达到50000字节),我可以过滤我感兴趣的数据(子字符串),并为远程服务器组合一个新请求,只提供响应中的一个特定项目.

有什么方法可以通过Javascript或PHP从远程服务器提供的响应中获取HTML,还避免在浏览器中显示响应?

我希望我没有混淆你的思想...感谢您提供的任何帮助.

rdl*_*rey 6

正如@mario所提到的,有几种不同的方法可以做到这一点.

使用file_get_contents():

$txt = file_get_contents('http://www.example.com/');
echo $txt;
Run Code Online (Sandbox Code Playgroud)

使用php的curl函数:

$url = 'http://www.mysite.com';
$ch = curl_init($url);

// Tell curl_exec to return the text instead of sending it to STDOUT
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

// Don't include return header in output
curl_setopt($ch, CURLOPT_HEADER, 0);

$txt = curl_exec($ch);
curl_close($ch);

echo $txt;
Run Code Online (Sandbox Code Playgroud)

curl可能是最强大的选项,因为您可以选择更好地控制确切的请求参数以及在事情没有按计划进行时进行错误处理的可能性