Форум → Программирование → PHP для идиотов → Авто авторизация
Авто авторизация
Страницы: ← Предыдущая страница →
-
15 января 2009 г. 1:06, спустя 17 минут 24 секунды
Felicitto, нажми кнопку. он тебя предупреждает просто)Сапожник без сапог -
16 января 2009 г. 20:26, спустя 1 день 19 часов 19 минут
да, всё работает. Та ссылка подходит, то глюки у меня какие-то были.
Но есть еще вопросик :) после скачки каждой страницы, приходиться отправлять заново пост-запрос с логином и паролем… мне то не сложно, но всё же как делается правильно? -
16 января 2009 г. 20:29, спустя 2 минуты 39 секунд
так ты используй одну копию объекта да и все. не пересоздавай его
да, всё работает. Та ссылка подходит, то глюки у меня какие-то были.
Но есть еще вопросик :) после скачки каждой страницы, приходиться отправлять заново пост-запрос с логином и паролем… мне то не сложно, но всё же как делается правильно?
типа так
$curl = new Curl …$curl->post() // авторизовались
foreach($pages as $pageurl)
{
$content = $curl->init($pageurl)->exec();
}
и все :)Сапожник без сапог -
16 января 2009 г. 21:29, спустя 1 час 37 секунд
serverfriendly() писать только один раз?
$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(); //ничего не выводит -
16 января 2009 г. 21:49, спустя 19 минут 46 секунд
нет, смотри как работает.
опции и настройки курла ресурса после каждого инита сбрасываются. так задумано :) потому что в исходной задаче где этот класс был написан, сквозные настройки ненужны были. вот :)
писать каждый раз. объект после отработки какого то запроса сохраняет в своих свойствах информацию о кукисах и все. чтобы дальше с этой информацией работать :)Сапожник без сапог -
16 января 2009 г. 23:34, спустя 1 час 44 минуты 48 секунд
$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 -
17 января 2009 г. 9:06, спустя 9 часов 32 минуты 14 секунд
$html = $curl->init($url)->serverfriendly()->exec();$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
init надо не забывать :)… ээх документацию бы накидать, да времени нема. сори :(Сапожник без сапог -
17 января 2009 г. 12:19, спустя 3 часа 13 минут 16 секунд
опции и настройки курла ресурса после каждого инита сбрасываются. так задумано
а как я понял, мне не надо, чтоб не сбрасывались. Думал, что можно в setopt установить url и init не вызывать (при логине же вызывалраз), но выводит ошибку. А ты говоришь, что вообще инит надо обязательно всегда писать.
То есть мне надо править сам класс, чтоб достичь своей цели?
(еще раз проблема: после авторизации могу скачать лишь одну страницу, потом приходится логиниться заново.) -
17 января 2009 г. 12:24, спустя 4 минуты 19 секунд
нет, править то ничего не надо … я кажется написал же что надо просто инит каждый раз вызывать + опции прописывать необходимые тебе :)опции и настройки курла ресурса после каждого инита сбрасываются. так задумано
а как я понял, мне не надо, чтоб не сбрасывались. Думал, что можно в setopt установить url и init не вызывать (при логине же вызывалраз), но выводит ошибку. А ты говоришь, что вообще инит надо обязательно всегда писать.
То есть мне надо править сам класс, чтоб достичь своей цели?
(еще раз проблема: после авторизации могу скачать лишь одну страницу, потом приходится логиниться заново.)
можешь и править конечно, твое дело :)
тут вот статья у меня была, может она разъяснит тебе ситуацию :)
http://phpdude.ru/archives/470Сапожник без сапог -
17 января 2009 г. 16:18, спустя 3 часа 54 минуты 3 секунды
Еще раз: мне надо получить две закрытые страницы:
Вторая не получается:
$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(); //ничего не выводит
Если логиниться перед каждым запросом страницы, то работает:$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(); //теперь выводит
Только что попробовал тоже самое для вконтакта….работает без повторного логина. В чём же дело? Какая-то защита? -
17 января 2009 г. 16:29, спустя 10 минут 53 секунды
$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(); //ничего не выводит
вот так вот должно работать … странно что не работает ….
честно говоря сейчас посмотрел в класс и не должно быть так …. должно все работать. ну юзай авторизацию дважды :) трижды и тп) можешь еще один раз авторизоваться и создать копию курл объекта, использовать копию для скачивания и снова копировать, использовать :))
вот так$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(); //ничего не выводит
думаю должно сработать, но костыль конечно :)Сапожник без сапог -
17 января 2009 г. 20:44, спустя 4 часа 15 минут 15 секунд
вариант с копированием объекта так же не работает.
Ладно, буду каждый раз отсылать пост-запрос, это мне ж не вручную это делать)правда как сервер отнесется к ~1000 таких запросов :)
Спасибо за помощь
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!