Я очищаю веб-сайты, используя пакет FriendsOfPHP/Goutte. Все отлично работает. Я очищаю сайты для открытых графических меток, таких как image, название и т. Д., Когда пользователь вставляет URL-адрес во вход.Принудительно использовать настольную версию сайта при очистке с помощью file_get_contents()
Проблема возникает, когда пользователь копирует URL-адрес с мобильного устройства, URL-адрес теперь является мобильным URL-адресом, например https://m.datpiff.com/tape/818948, и на этом URL-адресе нет открытых графических меток.
Когда доступ к той же URL и заменить суб-домен м с WWW например, https://www.datpiff.com/tape/818948 с рабочего стола, он перенаправляет меня на: http://www.datpiff.com/Chance-The-Rapper-Jeremih-Merry-Christmas-Lil-Mama-mixtape.818948.html.
, и этот URL-адрес рабочего стола содержит метки открытого графика.
Есть ли способ заставить мой сервер принудительно или обмануть принимающий сервер для перенаправления всех URL-адресов на настольную версию, чтобы я мог использовать открытые теги? Получающий сервер уже перенаправляет правильный URL-адрес, но только если я набираю текст непосредственно из браузера на рабочем столе.
Вот код, который я использую - он отлично работает. Мне просто нужно перенаправить URL-адрес, который я соскабливаю на настольную версию.
Сначала я заменить м с WWW в моих JS так:
fullurl.replace('m.',"www");
, который преобразует https://m.datpiff.com/tape/818948 в https://www.datpiff.com/tape/818948
тогда в моем PHP кода я использую что-то вроде этого:
$url_to_scrape = $urltoscrape;
$client = new Client();
// Go to the example.com website
$crawler = $client->request('GET', $url_to_scrape);
$opengraphImage =$crawler->filterXpath('//meta[@property="og:image"]')->attr('content');
$title = $crawler->filter('title')->text();
'fullurl.replace («WWW»«м.»); 'похоже на плохой вызов, отчасти потому, что он превратит' https: // m.datpiff.com/tape/818948' в 'https: // wwwdatpiff.com/tape/818948' и частично потому, что это заменив 'http: // example.com/m.html' на' http: // example.com/wwwhtml'. – ceejayoz
ceejayoz, моя ошибка я заменяю 'm' на 'www', я утешил log url, и я возвращаю то, что мне нужно, это https://www.datpiff.com/tape/818948, anyIdea о том, как я могу получить ответ на исходный вопрос. Спасибо, – Luna
ceejayoz Я понимаю, что вы имеете в виду, что я сейчас делаю, это fullurl.replace (": // m.", ": // www.") – Luna