can2
Новичок
Использование cURL для авторизации...
Здравствуйте,
Пытаюсь написать парсер для корпоративной мэил системы (написана на перле). Но столкнулся с проблемой авторизации php скрипта на сервере мэйлера.
Есть вот такой код:
В итоге выходит страница:
Authorization Required
This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.
А затем снова та же веб-форма для второй части авторизации.
Пробовал использовать вторую часть скрипта для авторизации через вебформу на других сайтах, все работает. А вот вместе эти авторизации не пашут.
Подскажите пожалуйста, в чем может быть проблема.
Заранее благодарю.
Здравствуйте,
Пытаюсь написать парсер для корпоративной мэил системы (написана на перле). Но столкнулся с проблемой авторизации php скрипта на сервере мэйлера.
Есть вот такой код:
PHP:
// Сперва на сервере используется HTTP Basic авторизация, выполняем ее:
$url = "http://example.ru";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, "login : password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
//В случае удачной авторизации выводится веб-форма, куда нужно забить следующую пару логин/пароль
$login = 'login';
$password = 'password';
$login_url = 'http://example.ru/login.pl';
$login_var_name = 'login';
$password_var_name = 'password';
$user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/cookie.txt';
$user_agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; (R1 1.5))";
if (!$ch1 = curl_init())
{
echo curl_error($ch1);
exit;
}
$post_fields = "$login_var_name=$login&$password_var_name=$password";
curl_setopt($ch1, CURLOPT_URL, $login_url);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch1, CURLOPT_VERBOSE, 1);
curl_setopt($ch1, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch1, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch1, CURLOPT_REFERER, 'example.ru');
curl_setopt($ch1, CURLOPT_COOKIEFILE, $user_cookie_file);
curl_setopt($ch1, CURLOPT_COOKIEJAR, $user_cookie_file);
curl_setopt($ch1, CURLOPT_POST, 1);
curl_setopt($ch1, CURLOPT_POSTFIELDS, $post_fields);
$content = curl_exec($ch1);
curl_close($ch1);
echo $content;
Authorization Required
This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.
А затем снова та же веб-форма для второй части авторизации.
Пробовал использовать вторую часть скрипта для авторизации через вебформу на других сайтах, все работает. А вот вместе эти авторизации не пашут.
Подскажите пожалуйста, в чем может быть проблема.
Заранее благодарю.