簡體   English   中英

使用file_get_content()獲取重定向網址

[英]Grab redirect Url with file_get_content()

在使用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');
                }
            }
        } 

我在這里抓取了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);

我越來越沒有錯誤,也越來越頁面內容,但不是全部的這個頁面。 桌子還沒來嗎? 有解決的辦法嗎?

我不確定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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM