PDA

Просмотр полной версии : Курл и кукисы


George767
07.01.2008, 22:45
Кто знаком с курлом (php), подскажите пожайлуста пример как открыть соединение с сайтом с заранее заданными кукисами и прочтитать выводимый контент.

Заранее спасибо +++

Kaimi
07.01.2008, 23:08
http://www.celticproductions.net/articles/4/php/forum+login+using+curl.html

http://www.youtube.com/watch?v=XcgQUsorF_8

NOmeR1
07.01.2008, 23:12
<?
$cU = curl_init('http://www.example.com/');
curl_setopt($cU, CURLOPT_COOKIE, "cookis_one=1; cookis_two=2;");
curl_exec($cU);
curl_close($cU);
?>
Что-то типо этого)

George767
07.01.2008, 23:51
<?
$cU = curl_init('http://www.example.com/');
curl_setopt($cU, CURLOPT_COOKIE, "cookis_one=1; cookis_two=2;");
curl_exec($cU);
curl_close($cU);
?>
Что-то типо этого)

Спасибо именно так! Как бы сделать, что бы контент содержался в какой-то переменной для дальнейшего использования?

NOmeR1
08.01.2008, 00:16
<?
$cU = curl_init('http://www.example.com/');
curl_setopt($cU, CURLOPT_COOKIE, "cookis_one=1; cookis_two=2;");
ob_start();
curl_exec($cU);
$content = ob_get_contents();
ob_end_clean();
curl_close($cU);
?>
$content будет переменной, в которой будет валяться весь контент.

[alfred]
08.01.2008, 00:31
NOmeR1, а не проще так:

<?
$cU = curl_init('http://www.example.com/');
curl_setopt($cU, CURLOPT_COOKIE, "cookis_one=1; cookis_two=2;");
$content = curl_exec($cU);
curl_close($cU);
?>

NOmeR1
08.01.2008, 00:43
[alfred], но так контент будет выводится, а не записываться в переменную.

Noiro
08.01.2008, 01:01
[alfred], но так контент будет выводится, а не записываться в переменную.
Note:
If you want to have the result returned instead of it being printed to the browser directly, use the CURLOPT_RETURNTRANSFER option of curl_setopt().
Соответственно правим код на
<?
$cU = curl_init('http://www.example.com/');
curl_setopt($cU, CURLOPT_COOKIE, "cookis_one=1; cookis_two=2;");
curl_setopt($cU,CURLOPT_RETURNTRANSFER,true);
$content = curl_exec($cU);
curl_close($cU);
?>
И получаем желаемый результат

[alfred]
08.01.2008, 01:30
точно :) забыл Curlopt_returntransfer приписать.
Сам пару дней назад курл изучал.

vizard-06
08.01.2008, 01:49
<?
$ch_autht = curl_init();
curl_setopt($ch_autht, CURLOPT_URL, "bla.ru");//куда конектитссо
curl_setopt($ch_autht, CURLOPT_COOKIEJAR, 'cookie.txt'); //автоматом запишит все куки в файл
curl_setopt($ch_autht, CURLOPT_COOKIEFILE, 'cookie.txt');// прочитает куки из записаного файла
curl_setopt ($ch_autht, CURLOPT_RETURNTRANSFER, 1);
$ch_buft = curl_exec($ch_autht);
curl_close($ch_autht);
echo $ch_buft;
?>

ShAnKaR
08.01.2008, 02:00
ну зачем спрашивать на форуме когдауж такую то ерунду и самому найти можно? ппц