[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт для логина на сайте
mackberni
Есть скрипт, он логинится на сайте и возвращает результат об удачном или не удачном логине!, проблема в том что когда сайт на котором нужно залогинится работает в http протоколе работает отлично а в протоколе https не работает!!! ssl включен!
Вот собственно сам скрипт подскажите в чем проблема пожалуйста



$login="eu111111";
$pass="bmwetk1";


# Include libposter
require_once ('lib/libposter/libposter.php');

$Config['timeout'] = 30;


$cookie=dirname(__FILE__).'/files/cookie.txt';
@unlink($cookie);

# LOGIN
echo "Logging in as ".$login."...<br />";
$postvars = array(
'LOGON_USERID'=>$login,
'LOGON_PASSWD'=>$pass
);

$page = post('https://www.parts.bmwgroup.com/tetis/startTetisAction.do','', $postvars, 'https://www.parts.bmwgroup.com/tetis/startTetisAction.do', $cookie);
echo($html);
if(strpos($page, "Profile") > 0) {
echo "Login successful<br />";
} else {
echo "<b>Login fail! Please check email and password!</b><br />";
echo "<b>Going to the next entry...</b><br />";
return;
}


Сори за неудобство дополняю :libposter.php

# User agent string
$Config['user_agent'] = 'Opera/9.64 (Windows NT 5.1; U; en) Presto/2.1.1';
# Timeout, seconds
$Config['timeout'] = 10;
# Path to php interpreter
$Config['php'] = '/usr/bin/php';
# Absolute path to this library set, excluding last slash
$Config['path'] = substr(__FILE__, 0, strrpos(__FILE__, '/'));
# Work withous Cookie functions
$Config['ext_cookies'] = true;


# Functions

# Post form to script
# $action = 'http://domain.com/dir/form.php'
# From page
# $referer = 'http://anotherdomain.com/anotherdir/page.php'
# Send by GET method
# $get = array( 'name' => 'val', ... )
# Send by POST method
# $post = array( 'name' => 'val', ... )
# Send cookies
# $cookies = file path


function post($action, $get, $post, $referer, $cookies)
{
global $Config;
set_time_limit(300 + $Config['timeout']);
# Satic options
$Ch = curl_init();
curl_setopt ($Ch, CURLOPT_USERAGENT, $Config['user_agent']);
curl_setopt ($Ch, CURLOPT_HEADER, 1);
curl_setopt ($Ch, CURLOPT_NOBODY, 0);
curl_setopt ($Ch, CURLOPT_REFERER, $referer);
curl_setopt ($Ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($Ch, CURLOPT_SSL_VERIFYPEER, 0);
#curl_setopt ($Ch, CURLOPT_CRLF, 1);
curl_setopt ($Ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($Ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($Ch, CURLOPT_TIMEOUT, $Config['timeout']);
# GET data preparing
if (! empty ($get))
{
$action = trim ($action, '?') . '?';
foreach ($get as $key => $val)
{
$action = $action . $key . '=' . rawurlencode ($val).'&';
}
}

curl_setopt ($Ch, CURLOPT_URL, $action);
# POST data preparing
if (! empty ($post))
{
curl_setopt ($Ch, CURLOPT_POST, 1);
curl_setopt ($Ch, CURLOPT_POSTFIELDS, $post);
}
# Cookies data preparing
if (! empty ($cookies))
{
if($Config['ext_cookies']) {
@ curl_setopt ($Ch, CURLOPT_COOKIE, file_get_contents($cookies));
} else {
curl_setopt ($Ch, CURLOPT_COOKIEFILE, $cookies);
curl_setopt ($Ch, CURLOPT_COOKIEJAR, $cookies);
}
}

# Processing
$FrontPage = curl_exec ($Ch);
# Store cookies
if (! empty ($cookies) && $Config['ext_cookies'] && !file_exists($cookies))
{
$FrontPage = str_replace("\n", ' ', $FrontPage);
$FrontPage = str_replace("\r", ' ', $FrontPage);
preg_match_all('|Set-Cookie: (.*);|U', $FrontPage, $results);
$cookies_data = implode(';', $results[1]);
$handler = fopen($cookies, "w");
fwrite($handler, $cookies_data);
fclose($handler);
}
curl_close($Ch);
return $FrontPage;
}




Спустя 2 часа, 6 минут, 36 секунд (11.04.2012 - 21:42) walerus написал(а):
И где функция post() ?? или самому догадываться как она выглядит?

Спустя 12 часов, 23 минуты, 58 секунд (12.04.2012 - 10:06) mackberni написал(а):
Отредактировал

Спустя 1 час, 10 минут, 55 секунд (12.04.2012 - 11:17) mackberni написал(а):
С https разобрался, все конектится теперь есть следующая проблема, не конектиться конкретно к одному сайту https://www.parts.bmwgroup.com/tetis/startTetisAction.do почему не могу понять, думаю ето защита на самом сайте но а как узнать что за защита стоит и как ее обойти, подскажите пожалуйста вчем косяк! заранее благодарен

Спустя 2 часа, 11 минут, 34 секунды (12.04.2012 - 13:29) walerus написал(а):
У меня выдает вот такое
Портал поддержки послепродажного обслуживания (ASAP)
error.global.fehlergefunden

при обращении по адресу https://www.parts.bmwgroup.com/tetis/startTetisAction.do

Спустя 1 час, 17 минут, 15 секунд (12.04.2012 - 14:46) mackberni написал(а):
По этому адресу скрипт отправляет пост запросы, он в форме входа написан как ACTION, как страница он не работает! А вот страница логина https://www.parts.bmwgroup.com/tetis/startT...ID=WebETK_START

Спустя 35 минут, 40 секунд (12.04.2012 - 15:22) walerus написал(а):
mackberni - Напиши что ты хочешь в целом?, я не пойму чего ты добиваешься.

Спустя 37 минут, 2 секунды (12.04.2012 - 15:59) mackberni написал(а):
Нужен скрипт который бы сам логинился на сайте https://www.parts.bmwgroup.com/tetis/startT...ID=WebETK_START
и потом переходил по ссылке в профиле пользователя! Логин и пароль для входа известны.
Этот скрипт с протоколами HTTPS работает нормально, вот только этот сайт почему-то не работает.

Спустя 1 день, 1 час, 49 минут, 43 секунды (13.04.2012 - 17:49) mackberni написал(а):
Проблему решил!
CURLOPT_SSLVERSION, 3
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.