Показать сообщение отдельно
  #1 (permalink)  
Старый 05.05.2010, 04:32
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

Простейшая curl-авторизация... не получилось ;(
Подскажите, пожалуйста... не могу авторизоваться даже на своем сайте, где тупо 2 формы - логин и пароль... Какие шаги?
1) я делаю пост запрос со своими данными... Получаю ответ.

А дальше что? Нужно мне что-то извлекать из этого всего? как мне дальше путешествовать по страницам? После пост запроса мне приходит снова страничка авторизации... Будто бы пароль не подошел... Но пароль и логин верны 100%.
Использовал вот эту функцию:
function post_content ($url,$postdata) {
  $uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";

  $ch = curl_init( $url );
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_ENCODING, "");
  curl_setopt($ch, CURLOPT_USERAGENT, $uagent);  // useragent
  curl_setopt($ch, CURLOPT_TIMEOUT, 120);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
  //curl_setopt($ch, CURLOPT_COOKIEJAR, "z://coo.txt");
 // curl_setopt($ch, CURLOPT_COOKIEFILE,"z://coo.txt");

  $content = curl_exec( $ch );
  $err     = curl_errno( $ch );
  $errmsg  = curl_error( $ch );
  $header  = curl_getinfo( $ch );
  curl_close( $ch );

  $header['errno']   = $err;
  $header['errmsg']  = $errmsg;
  $header['content'] = $content;
  return $header;
}

Ссылку вставлял на www.mysite.ru/login.php - логин файл...
postdata задавал в виде login=mylogin&password=mypassword

Что не так? Подскажите новичку!
Ответить с цитированием