2012-01-05 81 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

相关问题