[英]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.