Witam
Czy da sie w CURL'u ograniczyć odpowiedź z serwera np do 10 000 bajtów?
Potrzebuje odebrać mniejszą ilość danych, bo tylko góre strony, a reszta jest nie potrzebna i skrypt mi zamula.
Witam
Czy da sie w CURL'u ograniczyć odpowiedź z serwera np do 10 000 bajtów?
Potrzebuje odebrać mniejszą ilość danych, bo tylko góre strony, a reszta jest nie potrzebna i skrypt mi zamula.
Próbowałem na wiele sposobów:
Jedyne co dzialalo to fread()
Nie wiem czy robie coś zle, czy po prostu te opcje raz działają raz nie.
JimMorrison napisał(a)
- próbowalem opcją CURLOPT_READFUNCTION oraz WRITEFUNCTION, to w ogole nie wchodzilo do tego CALLBACKA
a zarejestrowałeś go?
Nie wiem czy zarejestrowalem czy nie bo nie znam pojęcia. Pokazuje kopie kodu:
function read_function($ch,$string)
{
$length = strlen($string);
echo "Received $length bytes<br />\n";
return $length;
}
function GetContentbyCurl($url,$cookie=false)
{
$handle = curl_init($url);
if (false === $handle)
{
return false;
}
curl_setopt($handle, CURLOPT_HEADER, false);
curl_setopt($handle, CURLOPT_FAILONERROR, true); // this works
curl_setopt($handle, CURLOPT_HTTPHEADER, Array("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15") ); // request as if Firefox
curl_setopt($handle, CURLOPT_NOBODY, false);
curl_setopt($handle, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($handle, CURLOPT_READFUNCTION, "read_function");
if($cookie!==false)
curl_setopt($handle, CURLOPT_COOKIE, $cookie);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$connectable = curl_exec($handle);
curl_close($handle);
return $connectable;
}
Skoro nie wchodzi do callbacka to zmień "CURLOPT_READFUNCTION" na "CURLOPT_WRITEFUNCTION".
Dalej nic..