Получите URL перенаправления с помощью file_get_content () - PullRequest
0 голосов
/ 20 октября 2018

Возникли проблемы с получением ссылки для перенаправления с помощью file_get_content Я использовал эти коды: $link имеет пару URL-адресов.

foreach ($link as $site) {
            if (strpos($site, 'https://www.mecsumai.com/') === 0) {
                $dom = getSiteContent($site);
                $div = $dom->getElementsByTagName('iframe');
                if ($div->length > 0) {
                    $iframeLink[] = $div[0]->getAttribute('src');
                }
            }
        } 

Я взял здесь URL-адреса iframe, которые выглядят следующим образом:

https://www.mecsumai.com/bkn-summary?bid=16078001&bg1=999999&bg2=dddddd&wdt=100%&aln=center

Но при попытке ввести это с помощью file_get_content.Я не могу получить содержание страницы.Потому что он будет перенаправлять на это, когда вы пытаетесь ввести:

https://www.mecsumai.com/bkn-summary/?bid=16078001&bg1=999999&bg2=dddddd&wdt=100%25&aln=center&newid=06078001

Последний newid=line... перенаправляет часть.Вот и я попробую это.

foreach($iframeLink as $results){
            $opts = array('https' =>
                array(
                    'follow_location' => 1,
                )
            );
            $context = stream_context_create($opts);
            $lastUrl[] = file_get_contents($results, false, $context);

        }

        print_r($lastUrl);

Я не получаю ошибку, также получаю содержимое страницы, но не всю эту страницу.Стол не идет?Есть идеи, чтобы решить это?

1 Ответ

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

Я не уверен, если file_get_contents разрешить такую ​​опцию, однако вы можете использовать curl, который делает.

Вот пример.

function curl_get_contents($url) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    $data = curl_exec($curl);
    curl_close($curl);

    return $data;
}
...