gpt4 book ai didi

php - 呈现时的 cURL Html 输出与原始页面不同

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:07:06 26 4
gpt4 key购买 nike

我正在从事一个涉及使用 cURL 或 file_get_contents 获取页面的项目。问题是,当我尝试回显获取的 html 时,输出似乎与原始页面不同,并非所有图像都显示出来。请我想知道是否有解决方案。我的代码

    <?php
//Get the url
$url = "http://www.google.com";

//Get the html of url
function get_data($url)
{
$ch = curl_init();
$timeout = 5;
//$userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US)AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.X.Y.Z Safari/525.13.";
$userAgent = "IE 7 – Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)";
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
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;

}

$html = file_get_contents($url);
echo $html;
?>

谢谢

最佳答案

你应该使用 <base>为所有相关链接指定一个基本 url:

如果你 curl http://example.com/thisPage.html然后添加 base在''的回显输出中标记。这在技术上应该在 <head> 中,但这会起作用:

echo '<base href="http://example.com/" />';
echo $html;

Live example w <base> broken w/o <base>

关于php - 呈现时的 cURL Html 输出与原始页面不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3518598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com