403 запрещено при перенаправлении на внешнюю ссылку по php - PullRequest
0 голосов
/ 09 октября 2018

У меня есть код, который получает ссылку на список воспроизведения через исходный код страницы. Затем перенаправляет на эту ссылку списка воспроизведения. Через этот php-файл запускает список воспроизведения в программе vlc от пользователя ageint. Он работал без проблем, но теперь показывает 403 запрещенного изображения https://i.postimg.cc/7Yw1Fs2f/image.png

Несмотря на то, что я копирую ссылку на плейлист и помещаю ее непосредственно в vlc с пользователем ageint, работает без проблем .. image https://i.postimg.cc/RVd1477G/image.png

Пожалуйста, помогите мне проверить код

<?php
$html = file_get_contents("http://wssfree.com/WSSphp/wssbeinsports1/wssbeinsports1.php");

preg_match_all(
     '/(http.*?wmsAuthSign\=[^\&\">]+)/',

    $html,
    $posts, // will contain the article data
    PREG_SET_ORDER // formats data into an array of posts
);

foreach ($posts as $post) {
    $link = $post[0];

header('Location:' .$link);
exit;

}
?>

и пользовательский агент = freeapppsss

1 Ответ

0 голосов
/ 09 октября 2018

Попробуйте получить HTML-код:

<?php

$url = "http://wssfree.com/WSSphp/wssbeinsports1/wssbeinsports1.php";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$html = curl_exec($curl);
curl_close($curl);

echo '<textarea>'.$html.'</textarea>';

Затем вы можете использовать переменную $html, чтобы получить нужный URL.

Я отмечаю, что у вас естьцикл for, в котором для каждого элемента есть команда exit();, которая уничтожит страницу PHP, поэтому вам не нужно preg_match_all, просто preg_match.

...