Есть ли возможность силами PHP получить HTML-код страницы Сообщества вКонтакте?
Пытаюсь получить HTML-код страницы Сообщества вКонтакте следующим образом:
$url = 'https://vk.com/neshkolabarabanov';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Android 13; Mobile; rv:120.0) Gecko/120.0 Firefox/120.0');
$out = curl_exec($curl);
curl_close($curl);
На выходе - пустая строка.
Ответы (2 шт):
Автор решения: leb
→ Ссылка
В ответ на этот запрос приходят только заголовки с кодом ответа 302 для перемещения на мобильную версию https://m.vk.com/. Т.к. запрос является перенаправляющим, рассчитанным на браузер, то и нужда в html-странице опускается.
Если интересно, убедиться в этом можно с помощью утилиты командной оболочки curl
с параметром -v
.
Автор решения: Alex V
→ Ссылка
Добавил CURLOPT_FOLLOWLOCATION
.
Изменил CURLOPT_USERAGENT
.
Заработало:
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36');