Curl и 302 ошибка

Статус
В этой теме нельзя размещать новые ответы.

LEXAlForpostl

Мой дом здесь!
Регистрация
21 Май 2008
Сообщения
766
Реакции
228
Здравствуйте.
Пишу скрипт авторизации.
PHP:
<?
function post($url,$post,$refer)
{

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cook");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HEADER, 1);
//curl_setopt($ch, CURLOPT_HTTPHEADER, array('Transfer-Encoding: ','Expect:'));
$result = curl_exec($ch);
return $result;
}


$t=post ("https://mail.infobox.ru/owa/auth.owa","destination=https%3A%2F%2Fmail.infobox.ru%2Fowa%2F&flags=0&forcedownlevel=0&trusted=0&username=sergey%40abp-inform.ru&password=ajhgjcn1&isUtf8=1","https://mail.infobox.ru/owa/auth.owa/");
echo $t;

?>
Получаю:
HTTP/1.1 302 Moved Temporarily Server: nginx/0.6.35 Date: Sat, 14 Aug 2010 16:49:34 GMT Connection: keep-alive Content-Length: 0 Location: Для просмотра ссылки Войди или Зарегистрируйся Set-Cookie: sessionid=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT Set-Cookie: cadata=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT HTTP/1.1 200 OK Server: nginx/0.6.35 Date: Sat, 14 Aug 2010 16:49:35 GMT Content-Type: text/html; charset=utf-8 Connection: keep-alive Cache-Control: no-cache, no-store Pragma: no-cache Expires: -1 X-OWA-Version: 14.0.639.21 X-AspNet-Version: 2.0.50727 X-Powered-By: ASP.NET X-UA-Compatible: IE=EmulateIE7 Content-Length: 1500
Всё бы ничего, но куки не устанавливаются.
Куки
# Netscape HTTP Cookie File
# Для просмотра ссылки Войди или Зарегистрируйся
# This file was generated by libcurl! Edit at your own risk.

mail.infobox.ru FALSE / FALSE 1 sessionid
mail.infobox.ru FALSE / FALSE 1 cadata

В чём не прав?
 
Скорее всего в том что путь нужно предоставить прямой а не относительный... (для пиченек)

Сейчас скину код...

Добавлено через 50 секунд
PHP:
		$cookie_file = str_replace( "\\", "/", getcwd()).'/core/cookie/'.$this->cookie_file;
		curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
		curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);

Добавлено через 4 минуты
Код дернул из своего класа.. так что переработайте...
Думаю суть ясна.

Примерно та же проблема когда через cURL файл отправляешь...
Не помню точно.. Вроде на локалке (denwer - XP) нужно полный пть до файла, а вот на сервере (apache - *nux) относительный...
Хотя может и на оборот не помню...

Добавлено через 9 минут
Хотя стоп....
Файл то создается....
Странно... В любом случае попробуйте...
Если не выйдет то поможет 100% самостоятельная работа с кукисами...
То есть регуляркой парсить, обновлять, отправлять...

PS. Если у меня что либо не выходит в ход идут сокеты :D с ними сложнее но зато все под контролем !;)
 
Если не выйдет то поможет 100% самостоятельная работа с кукисами...
То есть регуляркой парсить, обновлять, отправлять...
Что парсить то? Я авторизацию пройти не могу.
Если у меня что либо не выходит в ход идут сокеты
Подмогите, пожалуйста, с сокетами пройти авторизацию.Никогда до этого с ними не работал.
 
Что парсить то? Я авторизацию пройти не могу.

А вы что думаете до того как не авторизуетесь парсить нечего :eek:
После отправки постом данных авторизации вам выплевывается страница на которой нужно спарсить кукисы и перейти по location передавая эти кукисы. Вот тогда получите пагу на которой вы авторизованы.
 
вам выплевывается страница на которой нужно спарсить кукисы
К сожалению, мне выплёвывается страница, с нулевыми куками :)
 
В коде ошибки нет. Что сервер устанавливает
Set-Cookie: sessionid=; Set-Cookie: cadata=;
то и в куках. Проверь пост данные.
Если планируется что-либо серьёзное писать- включай CURLINFO_HEADER_OUT и мониторь всё заголовки, порой без него не обойдёшься
+ сайт тебе выдаёт ошибку (что ты привёл в заголовках)
Введено неправильное имя пользователя или пароль. Повторите ввод.
это ты для примера дал?
 
Нет. Не для примера.
Введены реальные данные.
Можете попробовать ручками зайти.
login sergey@abp-inform.ru
pass ajhgjcn1
Для просмотра ссылки Войди или Зарегистрируйся

Почему куки не устанавливает - не знаю. В этом то и пытаюсь разобраться.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху