PDA

Просмотр полной версии : Веля,CURL и редиректы


Велемир
18.03.2009, 23:50
Пытаюсь после авторизации средиректиться на нужную мне страницу(форумную),но меня кидает после авторизации на index.php.В чём проблема ?

Pashkela
18.03.2009, 23:53
в том, что по всей видимости в login.php стоит переадресация на index.php

ЗАйди не одним запросом, а двумя:

1. Авторизация
2. Заход на нужную страницу

Итого два раз ку_рл

Chaak
18.03.2009, 23:55
CURLOPT_FOLLOWLOCATION, true

Велемир
19.03.2009, 00:05
Я так и делал...


$ua = "Mozilla";
$ch = curl_init("http://www.site.com/forum/login.php?action=login");
$req1 = "cookietime=315360000&loginmode=invisible&styleid=8&loginsubmit=Submit";
curl_setopt($ch,CURLOPT_REFERER,"http://www.site.com/forum/register.php");
curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookk");
curl_setopt($ch,CULOPT_COOKIEJAR,"./cookk");
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$req1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_USERAGENT,$ua);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
$result = curl_exec($ch);
echo $result;
curl_close($ch);

rushter
19.03.2009, 00:11
авторизуйся и вторым запросом открывай нужную страницу...
только curl_close($ch); не делай.

Chaak
19.03.2009, 00:13
пфф ненавижу
curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookk");
curl_setopt($ch,CULOPT_COOKIEJAR,"./cookk");
парси кукисы самостоятельно, для этого укажи:
curl_setopt($ch,CURLOPT_HEADER, true);
private function pregCookie($headers)
{
preg_match_all('#Set-cookie: (.*;)#UiS',$headers,$headers);
return implode('',$headers['1']);
}

Велемир
19.03.2009, 00:14
Точно...терь понятно.Я регнулся,потом авторизовался и пытался перейти.Не получилось.Когда же я просто авторизовался(кукисы-то уже есть),то переход осуществился без редиректов)).Спасибо ребятки )(А ведь почти правильно))))) ).

Велемир
19.03.2009, 00:39
пфф ненавижу

парси кукисы самостоятельно, для этого укажи:

Почему? Ведь вариант с кукифаил проще:)