显示来自其他域的全高内容

问题描述 投票:0回答:1

我想在我的网站上显示来自this page的内容。

我尝试使用iframe,但我无法将其设置为页面的完整高度因为我无法访问源网站。

我也试过PHP,但内容没有添加到网站,它来自一些JSON请求,不知道某些内容来自哪里。

我试图将一些CURL请求发送到同一个API:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://marketplace-packages-api-prod.apigateway.co/marketplace_packages.v1.MarketplacePackages/GetMultiPackages');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"packageIds":["SOL-BF4728A9A0EA4194A4BAB52CC816E7F9"]}');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');

$headers = array();
$headers[] = 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:66.0) Gecko/20100101 Firefox/66.0';
$headers[] = 'Accept: application/json, text/plain, */*';
$headers[] = 'Accept-Language: en-US,en;q=0.5';
$headers[] = 'Referer: https://clients.sparqxp.com/';
$headers[] = 'Content-Type: application/json';
$headers[] = 'Origin: https://clients.sparqxp.com';
$headers[] = 'Dnt: 1';
$headers[] = 'Connection: keep-alive';
$headers[] = 'Cache-Control: max-age=0';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close ($ch);

但我没有得到该页面的全部内容。

怎么做才能获得与页面完整高度相同的完整内容?

javascript php html ajax cross-domain
1个回答
0
投票

有问题的网站建立在Angular上,它加载一个基本的网页,然后使用JavaScript来填充页面。在JS填充之前,使用CURL简单地返回静态网页。 CURL无法以相同的程度模拟浏览器。

您在PHP代码中使用的URL是纯粹为了使Angular应用程序返回JSON响应以使用和相应地填充网站的URL。

© www.soinside.com 2019 - 2024. All rights reserved.