Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> curl post авторизация 
V
    Опции темы
neoks
Дата 23.2.2011, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Не могу залогинется!
Не знаю в чом проблема, испробывал кучу вариантов, не помогло.

Вот пример:

Код

$postdata = array('login'    => 'submit', 
        'username'       => $login, 
        'password'      => $password,
        'subaction'    => 'dologin');

print post_content('http://'.$val.'/admin.php',$postdata);


Сама функция:

Код

function post_content($url, $postdata) {
    
echo '<pre>';
var_dump($url);
var_dump($postdata);

    $usereagent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8)";
    $user_cookie_file = ROOT_DIR.'/cookies.txt';

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, URLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $usereagent);  // useragent
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE,$user_cookie_file);
$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;
}


Сам результат:

Код

string(29) "http://****.com/admin.php"
array(4) {
  ["login"]=>
  string(6) "submit"
  ["username"]=>
  string(5) "***"
  ["password"]=>
  int(****)
  ["subaction"]=>
  string(7) "dologin"
}
HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Server: nginx/0.8.41
Date: Wed, 23 Feb 2011 09:58:38 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.2.8
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: dle_user_id=deleted; expires=Tue, 23-Feb-2010 09:58:36 GMT; path=/; domain=.avtoblog.com; httponly
Set-Cookie: dle_name=deleted; expires=Tue, 23-Feb-2010 09:58:36 GMT; path=/; domain=.avtoblog.com; httponly
Set-Cookie: dle_password=deleted; expires=Tue, 23-Feb-2010 09:58:36 GMT; path=/; domain=.avtoblog.com; httponly
Set-Cookie: dle_hash=deleted; expires=Tue, 23-Feb-2010 09:58:36 GMT; path=/; domain=.avtoblog.com; httponly
Last-Modified: Wed, 23 Feb 2011 09:58:37 GMT
Content-Encoding: gzip


И сам код страницы:

Код

<!--MAIN area--><form  name="login" action="" method="post"><input type="hidden" name="subaction" value="dologin">
<div style="padding-top:5px;">
<table width="100%">
    <tr>
        <td width="4"><img src="engine/skins/images/tl_lo.gif" width="4" height="4" border="0"></td>
        <td background="engine/skins/images/tl_oo.gif"><img src="engine/skins/images/tl_oo.gif" width="1" height="4" border="0"></td>

        <td width="6"><img src="engine/skins/images/tl_ro.gif" width="6" height="4" border="0"></td>
    </tr>
    <tr>
        <td background="engine/skins/images/tl_lb.gif"><img src="engine/skins/images/tl_lb.gif" width="4" height="1" border="0"></td>
        <td style="padding:5px;" bgcolor="#FFFFFF">
<table width="100%">
    <tr>
        <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Авторизация на сайте</div></td>
    </tr>

</table>
<div class="unterline"></div>
<table width="100%">
    <tr>
        <td width="55" style="padding:5px;" rowspan="3"><img src="engine/skins/images/key.png" border="0"></td>
        <td width="140" style="padding:5px;">Имя:</td>
        <td><input class="edit" type="text" name="username" value='' size="20">&nbsp;&nbsp;</td>
    </tr>
    <tr>
        <td style="padding:5px;">Пароль:</td>

        <td><input class="edit" type="password" name="password" size="20">&nbsp;&nbsp;<input type="submit" class="edit" value="Войти"></td>
    </tr>
    <tr>
        <td style="padding:5px;">Используемый язык:</td>
        <td><select name="selected_language">
<option value="Russian" selected >Russian</option>
</select></td>
    </tr>
</table>

<div class="hr_line"></div>
<div class="navigation">Для входа в административную панель Вам необходимо ввести Ваше имя и пароль.</div>
</td>
        <td background="engine/skins/images/tl_rb.gif"><img src="engine/skins/images/tl_rb.gif" width="6" height="1" border="0"></td>
    </tr>
    <tr>
        <td><img src="engine/skins/images/tl_lu.gif" width="4" height="6" border="0"></td>
        <td background="engine/skins/images/tl_ub.gif"><img src="engine/skins/images/tl_ub.gif" width="1" height="6" border="0"></td>
        <td><img src="engine/skins/images/tl_ru.gif" width="6" height="6" border="0"></td>
    </tr>

</table>
</div></form>     <!--MAIN area-->



Не могу понять в чем проблема, сам могу войти а через curl нет  smile 
Помогите плиз!!!!!

PM MAIL   Вверх
enoff
Дата 23.2.2011, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: нет
Всего: 13



CURLOPT_POSTFIELDS - не массивом, а строкой вида var=value&var2=value.
Или убрать исходящий заголовок Except: - CURLOPT_HEADER, array("Except:");
PM MAIL ICQ Skype GTalk   Вверх
neoks
Дата 23.2.2011, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Цитата

enoff
CURLOPT_POSTFIELDS - не массивом, а строкой вида var=value&var2=value.

ага я так тоже пробывал, яж говорю испробывал все варианты что нашол в нете, не чего не помогает.

Код

username={$login}&password=111111&subaction=dologin&selected_language=Russian&login=submit


CURLOPT_HEADER убрал

Голову ламаю, пересмотрел весь код  smile 
PM MAIL   Вверх
enoff
Дата 23.2.2011, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: нет
Всего: 13



neoks, извиняюсь.
Не CURLOPT_HEADER, а CURLOPT_HTTPHEADER добавить. т.е.

Код

curl_setopt($ch, CURLOPT_HTTPHEADER, array("Except:")

и пост данные передавать в виде строки, так как если в виде массива, то форма передается как multipart/form-data
PM MAIL ICQ Skype GTalk   Вверх
neoks
Дата 23.2.2011, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Ура заработало!!!
Нуно было вписать такую строчку.

Код

curl_setopt($ch, CURLOPT_REFERER, $refer);


Где $refer это сайт куда обращаюсь то есть http://******/admin.php

Все спасибо! Тема закрыта   smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0741 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.