Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 22 Май, 2012, 11:29:29

Страниц: 1 2 [3]
Печать
Автор Тема: Авто авторизация  (Прочитано 5024 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
phpdude    ↓ 
15 Январь, 2009, 01:06:35
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20780
Сила слова: 1.66

Felicitto, нажми кнопку. он тебя предупреждает просто)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Felicitto    ↓ 
16 Январь, 2009, 08:26:26 , спустя 1 день 19 часов 19 минут 51 секунду
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 24
Сила слова: 0

да, всё работает. Та ссылка подходит, то глюки у меня какие-то были.
Но есть еще вопросик :) после скачки каждой страницы, приходиться отправлять заново пост-запрос с логином и паролем... мне то не сложно, но всё же как делается правильно?
Записан
phpdude    ↓ 
16 Январь, 2009, 08:29:05 , спустя 2 минуты 39 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20780
Сила слова: 1.66


да, всё работает. Та ссылка подходит, то глюки у меня какие-то были.
Но есть еще вопросик :) после скачки каждой страницы, приходиться отправлять заново пост-запрос с логином и паролем... мне то не сложно, но всё же как делается правильно?
так ты используй одну копию объекта да и все. не пересоздавай его
типа так
 
$curl = new Curl ...$curl->post() // авторизовались
foreach($pages as $pageurl)
{
    $content = $curl->init($pageurl)->exec();
}
 
и все :)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Felicitto    ↓ 
16 Январь, 2009, 09:29:42 , спустя 1 час 37 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 24
Сила слова: 0

serverfriendly() писать только один раз?
 
   
Text
$curl = new Curl();
     $curl->init("http://example.com/login/")->serverfriendly()->setopt("post",array("login"=>"qwe","password"=>"qwe"))->exec();
 
     $html = $curl->init("http://example.com/home/list/")->exec();
     //обрабатываю $html. Потом хочу еще какую-то страницу
 
     echo $curl->init("http://example.com/home/profile/")->exec(); //ничего не выводит
 
Записан
phpdude    ↓ 
16 Январь, 2009, 09:49:28 , спустя 19 минут 46 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: д-о-х-у-я!
Сила слова: 1.66

нет, смотри как работает.
 
опции и настройки курла ресурса после каждого инита сбрасываются. так задумано :) потому что в исходной задаче где этот класс был написан, сквозные настройки ненужны были. вот :)
 
писать каждый раз. объект после отработки какого то запроса сохраняет в своих свойствах информацию о кукисах и все. чтобы дальше с этой информацией работать :)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Felicitto    ↓ 
16 Январь, 2009, 11:34:16 , спустя 1 час 44 минуты 48 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 24
Сила слова: 0

Text
     $html = $curl->serverfriendly()->setopt("url","http://example.com/home/list/")->exec();
по идее так, но не работает :(
 

Warning: curl_setopt(): 3 is not a valid cURL handle resource in Z:\home\localhost\www\class.curl.php on line 217
Записан
phpdude    ↓ 
17 Январь, 2009, 09:06:30 , спустя 9 часов 32 минуты 14 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: д-о-х-у-я!
Сила слова: 1.66


Text
     $html = $curl->serverfriendly()->setopt("url","http://example.com/home/list/")->exec();
по идее так, но не работает :(
 

Warning: curl_setopt(): 3 is not a valid cURL handle resource in Z:\home\localhost\www\class.curl.php on line 217
$html = $curl->init($url)->serverfriendly()->exec();
 
init надо не забывать :)... ээх документацию бы накидать, да времени нема. сори :(
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Felicitto    ↓ 
17 Январь, 2009, 12:19:46 , спустя 3 часа 13 минут 16 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 24
Сила слова: 0

опции и настройки курла ресурса после каждого инита сбрасываются. так задумано

а как я понял, мне не надо, чтоб не сбрасывались. Думал, что можно в setopt установить url и init не вызывать (при логине же вызывалраз), но выводит ошибку. А ты говоришь, что вообще инит надо обязательно всегда писать.
 
То есть мне надо править сам класс, чтоб достичь своей цели?
(еще раз проблема: после авторизации могу скачать лишь одну страницу, потом приходится логиниться заново.)
Записан
phpdude    ↓ 
17 Январь, 2009, 12:24:05 , спустя 4 минуты 19 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: д-о-х-у-я!
Сила слова: 1.66


опции и настройки курла ресурса после каждого инита сбрасываются. так задумано

а как я понял, мне не надо, чтоб не сбрасывались. Думал, что можно в setopt установить url и init не вызывать (при логине же вызывалраз), но выводит ошибку. А ты говоришь, что вообще инит надо обязательно всегда писать.
 
То есть мне надо править сам класс, чтоб достичь своей цели?
(еще раз проблема: после авторизации могу скачать лишь одну страницу, потом приходится логиниться заново.)
нет, править то ничего не надо ... я кажется написал же что надо просто инит каждый раз вызывать + опции прописывать необходимые тебе :)
 
можешь и править конечно, твое дело :)
 
тут вот статья у меня была, может она разъяснит тебе ситуацию :)
 
http://phpdude.ru/archives/470
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Felicitto    ↓ 
17 Январь, 2009, 04:18:08 , спустя 3 часа 54 минуты 3 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 24
Сила слова: 0

Еще раз: мне надо получить две закрытые страницы:
Вторая не получается:
Text

     $curl = new Curl();
     $curl->init("http://example.com/login/")->serverfriendly()->setopt("post",array("login"=>"qwe","password"=>"qwe"))->exec();
 
     echo $curl->init("http://example.com/list/")->serverfriendly()->exec(); //выводит то, что надо
     echo $curl->init("http://example.com/profile/")->serverfriendly()->exec(); //ничего не выводит

Если логиниться перед каждым запросом страницы, то работает:
Text
     $curl = new Curl();
     $curl->init("http://example.com/login/")->serverfriendly()->setopt("post",array("login"=>"qwe","password"=>"qwe"))->exec();
 
     echo $curl->init("http://example.com/list/")->serverfriendly()->exec(); //выводит то, что надо
 
     $curl->init("http://example.com/login/")->serverfriendly()->setopt("post",array("login"=>"qwe","password"=>"qwe"))->exec();
     echo $curl->init("http://example.com/profile/")->serverfriendly()->exec(); //теперь выводит

 
Только что попробовал тоже самое для вконтакта....работает без повторного логина. В чём же дело? Какая-то защита?
Записан
phpdude    ↓ 
17 Январь, 2009, 04:29:01 , спустя 10 минут 53 секунды
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20780
Сила слова: 1.66

$curl = new Curl();
     $curl->init("http://example.com/login/")->serverfriendly()->setopt("post",array("login"=>"qwe","password"=>"qwe"))->exec();
 
     echo $curl->init("http://example.com/list/")->serverfriendly()->exec(); //выводит то, что надо
     echo $curl->init("http://example.com/profile/")->serverfriendly()->exec(); //ничего не выводит

вот так вот должно работать ... странно что не работает ....
 
честно говоря сейчас посмотрел в класс и не должно быть так .... должно все работать. ну юзай авторизацию дважды :) трижды и тп) можешь еще один раз авторизоваться и создать копию курл объекта, использовать копию для скачивания и снова копировать, использовать :))
 
вот так
 
PHP
$curl->init("http://example.com/login/")->serverfriendly()->setopt("post",array("login"=>"qwe","password"=>"qwe"))->exec();
$c = clone $curl;
 
echo $c->init("http://example.com/list/")->serverfriendly()->exec(); //выводит то, что надо
echo $c->init("http://example.com/profile/")->serverfriendly()->exec(); //ничего не выводит
 
 
думаю должно сработать, но костыль конечно :)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Felicitto    ↓ 
17 Январь, 2009, 08:44:16 , спустя 4 часа 15 минут 15 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 24
Сила слова: 0

вариант с копированием объекта так же не работает.
Ладно, буду каждый раз отсылать пост-запрос, это мне ж не вручную это делать)правда как сервер отнесется к ~1000 таких запросов :)
Спасибо за помощь
Записан
Страниц: 1 2 [3]
Печать
 

Перейти в: