Reputation: 9294
I am building a website crawler and using a cURL class with these options for getting headers, so that I can extract their mime/type
and content-length
before downloading full site to very it as text/html
and below specified size limits.
these are my curl options
$c->setopt(CURLOPT_URL, $theURL);
$c->setopt(CURLOPT_HEADER, false);
$c->setopt(CURLOPT_RETURNTRANSFER, true);
$c->setopt(CURLOPT_TIMEOUT, 10);
$c->setopt(CURLOPT_CONNECTTIMEOUT, 10);
$c->setopt(CURLOPT_NOBODY, TRUE);
$c->setopt(CURLOPT_FOLLOWLOCATION, TRUE);
$c->setopt(CURLOPT_MAXREDIRS, 2);
// Within Class
$theReturnValue = curl_exec($this->m_handle);
$this->m_status = curl_getinfo($this->m_handle) ;
but it always return [download_content_length] => -1
even without CURLOPT_NOBODY
however the data (whole file) retrived is correct.
Upvotes: 3
Views: 4543
Reputation: 58234
The libcurl docs for CURLINFO_CONTENT_LENGTH_DOWNLOAD (which is what the PHP binding is using) says:
"this returns -1 if the size isn't known"
Upvotes: 4