вот функция, далее только применять и радоваться
function koecurl($url, $post='', $mode=array()) {
$defaultmode = array('charset' => 'utf-8', 'ssl' => 1, 'cookie' => 1, 'headers' => 1, 'useragent' => 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.10.229 Version/11.61');
foreach ($defaultmode as $k => $v) {
if (!isset($mode[$k]) ) {
$mode[$k] = $v;
}
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, $mode['headers']);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $mode['useragent']);
curl_setopt($ch, CURLOPT_ENCODING, $mode['charset']);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 200);
if ($post) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
if ($mode['cookie']) {
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie.txt');
}
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
if ($mode['ssl']) {
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
}
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
впринципе пытался зацепить все аспекты для работы с курл, можно грабить и не париться, на кривом хосте где не работают куки даже не пытайтесь
а вот вам авторизация в vk.com
$login = 'compolom@gmail.com';
$password = ''; // тут пароль
$vk = koecurl('https://login.vk.com/?act=login', array('charset' => 'windows-1251'));
if (preg_match_all('#<input type="hidden" name="([^"]+)" value="([^"]+)"#', $vk, $hidden)) {
$post = array('expire' => 0, 'email' => $login, 'pass' => $password);
foreach ($hidden[1] as $k => $v)
$post[$v] = $hidden[2][$k];
}
$vk = koecurl('https://login.vk.com/?act=login', $post, array('charset' => 'windows-1251'));
echo $vk;
первый вызов грабит форму и заполняет массив $post чтоб его отдать при авторизации и собирает куки
второй раз уже грузиться страница, главное куки заполучить
далее думаю сами разберетесь