Здравствуйте. Подскажите пожалуйста где я ошибаюсь.
Авторизация на сайте таким методом:
function send_post_get_cookie($URL='', $PostData=Array(), $cookie='')
{
if (strlen($URL)<=0) return false;
$ua = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 MRA 5.7 (build 03796) Firefox/3.6.13';
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);
if (strlen($cookie)>0)
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
$result = curl_exec($ch);
curl_close($ch);
$lines = explode("\n", $result);
for ($i=0, $cnt=count($lines); $i<$cnt; $i++)
if (strpos($lines[$i], 'Set-Cookie:') !== FALSE)
$cookie .= substr($lines[$i], strpos($lines[$i], 'Set-Cookie:')+strlen('Set-Cookie:'));
return $cookie;
}
Получается вот такая строка:
PHPSESSID=kg0m06ko0p1fi3aipi4g3jbb44; path=/ skin=1; expires=Wed, 18-Jul-2029 05:49:51 GMT; Max-Age=281205923
Далее пытаюсь открыть другую страницу того-же сайта с передачей вышеполученных cookie.
function open($URL='', $cook='')
{
$ua = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 MRA 5.7 (build 03796) Firefox/3.6.13';
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_COOKIE, $cook);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'page'=>'1'
));
$answer = curl_exec($ch);
curl_close ($ch);
return $answer;
}
Но получаю от сервера 400 bad request. Подозреваю что строка с куками не правильная чтоле, подскажите ув. программисты пожалуйста...