|
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() писать только один раз?
$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
|
$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
|
$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
|
Еще раз: мне надо получить две закрытые страницы:
Вторая не получается:
$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(); //теперь выводит
Только что попробовал тоже самое для вконтакта....работает без повторного логина. В чём же дело? Какая-то защита?
|
|
|
|
|
Записан
|
|
|
|
|
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(); //ничего не выводит
вот так вот должно работать ... странно что не работает ....
честно говоря сейчас посмотрел в класс и не должно быть так .... должно все работать. ну юзай авторизацию дважды :) трижды и тп) можешь еще один раз авторизоваться и создать копию курл объекта, использовать копию для скачивания и снова копировать, использовать :))
вот так
$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 таких запросов :)
Спасибо за помощь
|
|
|
|
|
Записан
|
|
|
|
|