Здравейте,
опитвам се да прочета чрез cURL страница в интернет и да взема 2-3 текстчета от нея, ето го и кода:
<?
// disguises the curl using fake headers and a fake user agent.
function disguise_curl($url) {
$curl = curl_init();
// Setup headers - I used the same headers from Firefox version 2.0.0.6
// below was split up because php.net said the line was too long. :/
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1";
$header[] = "Accept-Language: en-US,en;q=0.9";
$header[] = "Pragma: "; // browsers keep this blank.
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, 'Opera');
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($curl, CURLOPT_AUTOREFERER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$html = curl_exec($curl); // execute the curl command
curl_close($curl); // close the connection
return $html; // and finally, return $html
}
// uses the function and displays the text off the website
//Here it's work...
//$url = 'http://www.examplesite.com';
//This is mod_rewrite URL and function return empty result...
$url = 'http://www.examplesite.com/pid/1599/';
$text = disguise_curl($url);
echo $text;
?>
==================================
Ето и съдържанието на robots.txt за тази страница:
User-agent: *
Disallow: /googleea9727fb11233153.html
Disallow: /googledec533d489551955.html
Sitemap: http://www.examplesite.com/sitemap.xml
Когато използвам функцията с `истински` URL-и, например:
1) $url = 'http://www.examplesite.com'; ........ или
2) $url = 'http://www.examplesite.com/testdir/test.php?getvar=getresult'
.... всичко си работи както трябва, НО когато подам на функцията URL, което е минало през mod_rewrite на сървъра...кода на страницата не се парсва (т.е. не работи), например с адрес:
$url = 'http://www.examplesite.com/pid/1599/'; ..... поради факта, че не й се подава истинския адрес (според мен), а преработения от `mod_rewrite` адрес. Иначе в браузъра тези адреси се отварят естествено без проблем, но през скрипта незнам как да ги подкарам. Въпроса ми е дали някой се е сблъсквал с подобно задача и ако да как се процедира в такива случаи. Пробвах да налучквам истинския адрес, но след 5-6 неуспешни опита се отказах и реших да пиша във форума, че нещо не ми стига пипката как да го излъжа това.
10х
|