URL che non è recuperato da file_get_contents, perché i loro server controlla se la richiesta provengono da browser o qualsiasi script. Se hanno trovato la richiesta dallo script, disabilitano semplicemente il contenuto della pagina.
In modo che io debba effettuare una richiesta simile alla richiesta del browser. Quindi ho usato il seguente codice per ottenere il secondo contenuto dell'URL. Potrebbe essere diverso per diversi server web. Perché potrebbero mantenere controlli diversi.
Anche se non provi ad usare il seguente codice! Se sei fortunato questo potrebbe funzionare per te !!
function getUrlContent($url) {
fopen("cookies.txt", "w");
$parts = parse_url($url);
$host = $parts['host'];
$ch = curl_init();
$header = array('GET /1575051 HTTP/1.1',
"Host: {$host}",
'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language:en-US,en;q=0.8',
'Cache-Control:max-age=0',
'Connection:keep-alive',
'Host:adfoc.us',
'User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36',
);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$url = "http://adfoc.us/1575051";
$html = getUrlContent($url);
Grazie a tutti per la guida.
Quindi qual è il secondo URL che effettivamente riecheggia? O ricevi qualche messaggio di errore? –
Cosa intendi per "non funziona"? –
si prega di aprire entrambi gli URL nel browser. Entrambe le pagine HTML di ritorno. – Parixit