Я пытаюсь получить HTML-код страниц встраивания Instagram для моего API, но он возвращает мне странную ошибку, и я не знаю, что делать сейчас, потому что я новичок в PHP. Код работает на других сайтах.
Я уже пробовал это на других сайтах, таких как apple.com, и странно то, что когда я вызываю эту функцию на «обычной» странице публикации, она работает, ошибка появляется только тогда, когда я вызываю ее по URL «/ embed» .
Это мой код PHP:
<?php
if (isset($_GET['url'])) {
$filename = $_GET['url'];
$file = file_get_contents($filename);
$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTML($file);
libxml_use_internal_errors(false);
$bodies = $dom->getElementsByTagName('body');
assert($bodies->length === 1);
$body = $bodies->item(0);
for ($i = 0; $i < $body->children->length; $i++) {
$body->remove($body->children->item($i));
}
$stringbody = $dom->saveHTML($body);
echo $stringbody;
}
?>
Я называю API следующим образом:
https://api.com/get-website-body.php?url=http://instagr.am/p/BoLVWplBVFb/embed
Моя цель - получить содержание сайта, как, например, когда я называю этот код на URL https://apple.com, например.