2012-01-05 77 views
-2

我正在使用此file_get_contents獲取外部網站html。但是它與返回不同的輸出返回不同。文件獲取內容無法正常工作

ExternalUrlhttp://www.target.com/c/baby-baby-bath-bath-safety/-/N-5xtji#?lnk=nav_t_spc_3_inc_1_1

我活代碼: http://apptoplay.com/getImageUrl/file_get_contents.php

代碼

$url="http://www.target.com/c/baby-baby-bath-bath-safety/-/N-5xtji#?lnk=nav_t_spc_3_inc_1_1"; 
$html = file_get_contents($url); 
    echo $html; 

編輯:差異是在HTML中。兩者顯示出不同的完全不同的內容。

+1

差異是可以預期的。您的瀏覽器是與PHP不同的UserAgent。對HTTP GET請求的響應取決於發送的標頭。另外,請記住,瀏覽器將評估任何JavaScript,而PHP不會。如果這個問題已經不能回答你的問題,請更新你的問題,指出不同之處,而不是讓我們去這些網站。 – Gordon 2012-01-05 11:17:55

+0

編輯該帖子。區別在於HTML。 – Rohit 2012-01-05 11:20:02

+0

嗯,我想我們想到了很多:) – Gordon 2012-01-05 11:22:17

回答

0

你必須告訴cURL接受cookies。

試試這個:在什麼是顯示在瀏覽器和距離的file_get_contents

<?php 
/* STEP 1. let’s create a cookie file */ 
$ckfile = tempnam ("/tmp", "CURLCOOKIE"); 

/* STEP 2. visit the homepage to set the cookie properly */ 
$ch = curl_init ("http://www.target.com/"); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); 
$output = curl_exec ($ch); 

/* STEP 3. visit cookiepage.php */ 
$ch = curl_init ("http://www.target.com/c/baby-baby-bath-bath-safety/-/N-5xtji#?lnk=nav_t_spc_3_inc_1_1"); 
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); 
echo $output = curl_exec ($ch); 
?> 

More description