2012-01-05 3 views
-2

Я использую этот файл_get_contents для извлечения внешнего веб-сайта html. но он возвращает разные выходные данные по сравнению с живыми.Файл получить содержимое не работает должным образом

ExternalUrl: http://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; 

Edit: Различия в HTML. оба показывают разные совершенно разные содержания.

+1

Различия в том, что отображается в браузере и с file_get_contents следует ожидать. Ваш браузер отличается от UserAgent, чем PHP. Ответы на запросы HTTP GET зависят от отправленных заголовков. Кроме того, имейте в виду, что браузер будет оценивать любой JavaScript, пока PHP не будет. Если это уже не ответит на ваш вопрос, пожалуйста, обновите свой вопрос, чтобы указать, какие отличия вместо того, чтобы мы отправились на эти сайты. – Gordon

+0

отредактировал это сообщение. Разница в HTML. – Rohit

+0

ну, я думаю, мы так много думали :) – Gordon

ответ

0

Вы должны сообщить cURL, чтобы принимать файлы cookie.

Попробуйте это:

<?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

Смежные вопросы