Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Авторизация через CURL
 
 автор: Koze1   (24.07.2008 в 20:05)   письмо автору
 
 

Пытаюсь произвести авторизацию:


<?
$url 
"http://employer.dice.com/nonAuthenticatedNav.epl";
$post "USERNAME=*&PASSWORD=*";

$cookie str_replace('\\''/'dirname(__FILE__)) . 'cookies.txt';
$ch curl_init();
curl_setopt($chCURLOPT_URL,$url);
curl_setopt($chCURLOPT_FAILONERROR1);
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
curl_setopt($chCURLOPT_RETURNTRANSFER,1);
curl_setopt($chCURLOPT_TIMEOUT3);
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS$post);
curl_setopt($chCURLOPT_COOKIEFILE$cookie);
curl_setopt($chCURLOPT_COOKIEJAR$cookie);
curl_setopt($chCURLOPT_NOBODY0);
curl_setopt($chCURLOPT_HEADER0);
$result curl_exec($ch);
curl_close($ch);

echo 
$result;

$url "http://employer.dice.com/talentmatch/servlet/TalentmatchSearch?op=150";
$ch curl_init();
curl_setopt($chCURLOPT_URL,$url);
curl_setopt($chCURLOPT_FAILONERROR1);
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
curl_setopt($chCURLOPT_RETURNTRANSFER,1);
curl_setopt($chCURLOPT_TIMEOUT3);
curl_setopt($chCURLOPT_COOKIEFILE$cookie);
curl_setopt($chCURLOPT_COOKIEJAR$cookie);
curl_setopt($chCURLOPT_NOBODY0);
curl_setopt($chCURLOPT_HEADER0);
$result curl_exec($ch);
curl_close($ch);

echo 
$result;
?> 


Но авторизоваться не получается. Код, вроде, правильный. Может ли стоять какая-нибудь защита от автоматической авторизации?

  Ответить  
 
 автор: mihdan   (25.07.2008 в 01:26)   письмо автору
 
   для: Koze1   (24.07.2008 в 20:05)
 

Уже 30 раз одно и тоже. Говорю вам работает оно, укажите логин и пароль верные. И насколько вижу данные отсылаются по адресу /login_r.epl

  Ответить  
 
 автор: Koze1   (25.07.2008 в 03:06)   письмо автору
 
   для: mihdan   (25.07.2008 в 01:26)
 

Спасибо, понял, что авторизоваться нужно на /login_r.epl, подсоединяюсь по этому адресу - идет редирект на главную страницу сайта (не авторизовался).

Полученные заголовки при авторизации:
HTTP/1.1 302 Found Date: Thu, 24 Jul 2008 23:02:01 GMT Server: Apache/1.3.41 (Unix) mod_gzip/1.3.26.1a mod_perl/1.30 mod_ssl/2.8.31 OpenSSL/0.9.6b Vary: * P3P: CP="ALL ADMi DEVi PSA CONi OUR DELi SAMi BUS NAV COM CNT ONL INT PHY DEM UNI" Location: /employer.epl Content-Length: 2 Connection: close Content-Type: text/html

  Ответить  
 
 автор: Koze1   (25.07.2008 в 18:59)   письмо автору
 
   для: mihdan   (25.07.2008 в 01:26)
 

При заходе на сайт выдаются куки, которые спрашиваются при авторизации.

Поправил код, но все равно с авторизацией проблемы:


<?php
$cookie 
str_replace('\\''/'dirname(__FILE__)) . 'cookies.txt';

$url "http://employer.dice.com/employer.epl";
$ch curl_init();
curl_setopt($chCURLOPT_URL,$url);
curl_setopt($chCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_FAILONERROR1);
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
curl_setopt($chCURLOPT_RETURNTRANSFER,1);
curl_setopt($chCURLOPT_TIMEOUT3);
curl_setopt($chCURLOPT_COOKIEFILE$cookie);
curl_setopt($chCURLOPT_COOKIEJAR$cookie);
curl_setopt($chCURLOPT_NOBODY0);
curl_setopt($chCURLOPT_HEADER1);
$result curl_exec($ch);
curl_close($ch);


$url "http://employer.dice.com/login_r.epl";
$post "USERNAME=*&PASSWORD=*";

$ch curl_init();
curl_setopt($chCURLOPT_URL,$url);
curl_setopt($chCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($chCURLOPT_REFERER"http://employer.dice.com/employer.epl");
curl_setopt($chCURLOPT_FAILONERROR1);
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
curl_setopt($chCURLOPT_RETURNTRANSFER,1);
curl_setopt($chCURLOPT_TIMEOUT3);
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS$post);
curl_setopt($chCURLOPT_COOKIEFILE$cookie);
curl_setopt($chCURLOPT_COOKIEJAR$cookie);
curl_setopt($chCURLOPT_NOBODY0);
curl_setopt($chCURLOPT_HEADER1);
$result curl_exec($ch);
curl_close($ch);
echo 
$result;
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования