Часто бывает необходимо при парсинге прочитать передаваемые целевой страницей куки и заголовки, lzk последующего их использования.
Написал функцию, которая позволяет это делать. Ниже приведен пример с комментариями, базируясь на котором можно собрать код нужной функциональности:
//$url=имя хоста, куда будем заходить
function load_page($url){
$cookies=array();
// имя хоста, откуда якобы пришли, некоторые проверяют
$ref="google.com";
// инициализация cURL
$ch = curl_init($url);
//-- откуда пришли )
curl_setopt($ch, CURLOPT_REFERER, $ref);
// чтобы выводил заголовки
curl_setopt ($ch, CURLOPT_HEADER, 1);
// чтобы не выводил саму страницу (она не нужна)
curl_setopt ($ch, CURLOPT_NOBODY, 1);
// если ведется проверка HTTP User-agent, то передаем один из возможных допустимых вариантов:
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8');
// если проверятся откуда пришел пользователь, то указываем допустимый заголовок HTTP Referer:
curl_setopt ($ch, CURLOPT_REFERER, 'http://'.$hostname.'/');
// возвращать результат работы
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
// не проверять SSL сертификат
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
// не проверять Host SSL сертификата
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
// это необходимо, чтобы cURL не высылал заголовок на ожидание
curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Expect:'));
// выполнить запрос
curl_exec ($ch);
$t=curl_multi_getcontent ($ch);
curl_close ($ch);
// получил массив всех заголовков от сервера
$ret = curl_getinfo($ch);
if($ret && isset($ret['content_type']) && $ret['content_type']!=null)
{
preg_match("|Content-Type: .*?charset=(.*)\n|imsU", $t, $matches);
if(!empty($matches[1]))
{
$ret['charset'] =$matches[1];
}
}
return $ret;
}
Функция вернет массив заголовков
чтото вроде
Array
(
[url] => http://www.le****rms/
[content_type] => text/html; charset=windows-1251
[http_code] => 200
[header_size] => 189
[request_size] => 201
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0,123534
[namelookup_time] => 1,8E-5
[connect_time] => 0,060704
[pretransfer_time] => 0,060706
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => 0
[starttransfer_time] => 0,123504
[redirect_time] => 0
[certinfo] => Array
(
)
[redirect_url] =>
[charset] => windows-1251
)
если необходимо при получении контента передать какие либо параметры, например куки передаются вот так
curl_setopt($ch, CURLOPT_COOKIE, $value);
$value соответственно где то заранее хранится
ps: помогает очень при ситуации когда глючит функция определения кодировки страницы

Хароший у тебя блог. Добавляю закладку.
отлично ))
Все,конечно, прекрасно ) Но, мне кажется, надо раскрыть тему про куки и пост. А если быть точнее, то просто собрать все статьи в одну красивенькую ))
несомненно, время как смогу выделить обязательно напишу
ps:но я сделал для себя заметку, и блог веду исключительно для себя, по этой причине все так сжато