Просмотр полной версии : Куки в php
xor[jmp]
10.04.2010, 02:18
Подскажите пожалуйста как принять куки от сайта средствами .php и записать их в переменную?
']Подскажите пожалуйста как принять куки от сайта средствами .php и записать их в переменную?
Все куки твоего сайта лежат в $_COOKIE;
setcookie("name","values");
print_r($_COOKIE);
xor[jmp]
10.04.2010, 02:28
Вот такая ошибка:
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\login.php:1) in C:\AppServ\www\login.php on line 2
В таком коде:
<?php
setcookie("test","Hello");
$response="";
if ($fp = fsockopen ("vkontakte.ru", 80, $errno, $errstr, 30))
{
$request ="POST /profile.php HTTP/1.0\r\n";
$request.="Host: vkontakte.ru\r\n";
$request.="Content-Type: application/x-www-form-urlencoded\r\n";
$request.="Content-Length: 7\r\n";
$request.="\r\n\r\n";
$request.="foo=bar";
fwrite($fp,$request,strlen($request));
while (!feof($fp))
$response.=fread($fp,128);
if(strpos($response,"302"))
{
fclose($fp);
echo "<pre>\n";
echo htmlentities($response);
echo "</pre>\n";
}
else
echo "<pre>\n";
echo htmlentities($response);
echo "</pre>\n";
}
?>
:(
']Вот такая ошибка:
...
:(
Сохрани без BOM. Например, это можно сделать в Notepad++.
m0Hze, насколько я понял он хочет зайти на сайт вконтакте и сохранить полученные там куки в переменную...
<?php
$response="";
if ($fp = fsockopen ("vkontakte.ru", 80, $errno, $errstr, 30))
{
$request ="POST /profile.php HTTP/1.0\r\n";
$request.="Host: vkontakte.ru\r\n";
$request.="Content-Type: application/x-www-form-urlencoded\r\n";
$request.="Content-Length: 7\r\n";
$request.="\r\n\r\n";
$request.="foo=bar";
fwrite($fp,$request,strlen($request));
while (!feof($fp))
$response.=fread($fp,128);
if(strpos($response,"302"))
{
fclose($fp);
echo "<pre>\n";
echo htmlentities($response);
echo "</pre>\n";
}
else
echo "<pre>\n";
echo htmlentities($response);
echo "</pre>\n";
preg_match_all("/(?<=Set-Cookie: )(.*?)(?=\;)/", $response , $cook);
echo '<br><br><br>Куки:<br>';
print_r($cook[0]);
}
?>
m0Hze, насколько я понял он хочет зайти на сайт вконтакте и сохранить полученные там куки в переменную...
Ну тогда нужно точнее выражать свои мысли, я не телепат. И вообще я хочу спать :(
xor[jmp]
10.04.2010, 03:02
m0Hze, насколько я понял он хочет зайти на сайт вконтакте и сохранить полученные там куки в переменную...
<?php
$response="";
if ($fp = fsockopen ("vkontakte.ru", 80, $errno, $errstr, 30))
{
$request ="POST /profile.php HTTP/1.0\r\n";
$request.="Host: vkontakte.ru\r\n";
$request.="Content-Type: application/x-www-form-urlencoded\r\n";
$request.="Content-Length: 7\r\n";
$request.="\r\n\r\n";
$request.="foo=bar";
fwrite($fp,$request,strlen($request));
while (!feof($fp))
$response.=fread($fp,128);
if(strpos($response,"302"))
{
fclose($fp);
echo "<pre>\n";
echo htmlentities($response);
echo "</pre>\n";
}
else
echo "<pre>\n";
echo htmlentities($response);
echo "</pre>\n";
preg_match_all("/(?<=Set-Cookie: )(.*?)(?=\;)/", $response , $cook);
echo '<br><br><br>Куки:<br>';
print_r($cook[0]);
}
?>
Ога, спс.А также интересно как их подставить контакту чтоб потом авторизироваться и получить profile.php ^_^
']Ога, спс.А также интересно как их подставить контакту чтоб потом авторизироваться и получить profile.php ^_^
Давно как-то писал функцию для запросов, которая автоматов выдирает куки и автоматом же подставляет их в последующих запросах... Вот:
<?php
set_time_limit(0);
$mail = 'мыло@mail.ru';
$pass = 'пасс';
function request($url = '', $post = '', $ref = '')
{
$u = parse_url($url);
$path = $u[path].'?'.$u[query];
global $COOKIE;
if ($COOKIE)
{
foreach ($COOKIE as $n => $v)
$COOK .= $n.'='.$v.';';
}
$ip = gethostbyname($u[host]);
$fp = fsockopen($ip,80,$en,$es,15);
if(!$fp){exit('Connection failed. Error #'.$en.': '.$es);}
if (!empty($post)) {$req = "POST $path HTTP/1.1\r\n";} else {$req = "GET $path HTTP/1.0\r\n";}
$req .= "Host: $u[host]\r\n";
$req .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4\r\n";
if (!empty($ref)) {$req .= "Referer: $ref\r\n";}
$req .= "Content-type: application/x-www-form-urlencoded\r\n";
if (!empty($post)) {$req .= "Content-length: ". strlen($post) ."\r\n";}
$req .= "Cookie:".substr($COOK, 0, strlen($COOK)-1)."\r\n";
$req .= "Connection: close\r\n\r\n";
if (!empty($post)) {$req .= $post;}
fwrite($fp,$req);
while(!feof($fp))
{
$s .= fgets($fp,256);
}
fclose($fp);
preg_match_all("/(?<=Set-Cookie: )(.*?)(?=\;)/", $s , $cook);
foreach ($cook[0] as $str)
{
list ($name, $val) = explode('=', $str);
$COOKIE[$name]=$val;
}
return $s;
}
$ex = request('http://vkontakte.ru/login.php?email='.$mail.'&pass='.$pass);
$ex = request('http://vkontakte.ru/profile.php');
echo $ex;
?>
За корректность работы функции не ручаюсь, но за основу можешь её взять...
xor[jmp]
10.04.2010, 03:31
Да, спс оно. +
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot