заинтересовал скрипт по расшифровке коротких ссылок Есть ссылка, например: http://langamepp.com/chtst/DAFB5E48618B4D60DB8B69822BB7DB74EBC36A7F50BD3141E9A3B93CFB0B0AF50A41771313FE250CA8D6 И она отсылается на http://live-gtrkomsk.cdnvideo.ru/gtrkomsk/gtrkomsk.sdp/playlist.m3u8 Интересует как получить ссылку на которую она ссылается. Нашел онлайн сервис http://backlinks-checker.dimax.biz/tools/rasshifrovka-korotkih-ssilok.php Интересует как работает скрипт? Зарание спасибо.
Как это работает в браузере (к чему вы привыкли):
Редирект осуществляется через 3xx
коды
Поэтому нам нужна сетевая утилита, которая будет переходить последовательно по адресам до тех пор, пока не получит окончательную страницу.
Можно сделать через curl
:
curl -sL --head http://langamepp.com/chtst/DAFB5E48618B4D60DB8B69822BB7DB74EBC36A7F50BD3141E9A3B93CFB0B0AF50A41771313FE250CA8D6 | grep Location
Получим
Location: http://langamepp.com/mnogoust.mp4
Немного про использованные опции:
-s
подавляет вывод прогресс-бара-L
следовать редиректам-head
- запрашиваем только заголовкиgrep Location
- фильтрация по слову Location
- это именно то, куда при 3xx
коде идет переход.
Можно сделать и чисто средствами PHP, суть та же, курл там есть. Мне нравится более короткий вариант, который вызывает оболочку:
$uri = 'http://langamepp.com/chtst/DAFB5E48618B4D60DB8B69822BB7DB74EBC36A7F50BD3141E9A3B93CFB0B0AF50A41771313FE250CA8D6';
$cmd = sprintf('curl -sL --head %s | grep Location', escapeshellarg($uri));
$data = shell_exec($cmd);
echo $data;
Также есть ответ на enSO, там есть обработка варианта перехода через JavaScript
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Вообщем в зависимости нажат ли чекбокс в JS прокидываю параметр в url, а в PHP меняю значение переменной в зависимости от urlВсе работает хорошо,...
Есть некая сущностьВ ней формируем колонку, например: num
Fatal error: Cannot pass parameter 6 by reference in E:\OSPanel\domains\localhost\miacum1php on line 41