Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: библиотеки Curl

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Curl
incker
Отправлено: 05 Июня, 2012 - 20:25:04
Post Id


Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Здравствуйте,

Я освоил парсинг (Curl) но у меня проблемы с curl multi.
вот мой рабочий скрипт:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_COOKIE,$cook);
$temp=curl_exec($ch);
curl_close($ch);


как сделать то же самое только скачивало одновременно http://1 и http://2 и в каких переменных оно осядет?

Большое спасибо за помощь!!!
Станислав
 
 Top
ams
Отправлено: 06 Июня, 2012 - 19:12:28
Post Id



Посетитель


Покинул форум
Сообщений всего: 351
Дата рег-ции: Нояб. 2010  


Помог: 13 раз(а)




Сделай функцию, которая будет возвращать результат, а принимать например урл. Ну и циклом или как душе будет угодно в переменную пишишь результат ф-ии.

PHP:
скопировать код в буфер обмена
  1.  
  2. function fetchPage($url, $post_data) {
  3. $ch = curl_init();
  4.  curl_setopt($ch, CURLOPT_URL, $url);
  5.  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
  6.  curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
  7.  curl_setopt($ch, CURLOPT_COOKIE,$cook);
  8.  $temp=curl_exec($ch);
  9.  curl_close($ch);
  10.  return $temp;
  11. }
  12.  
  13. $a = fetchPage('http://1', $post_data);
  14. $b = fetchPage('http://2', $post_data);
  15.  

(Отредактировано автором: 06 Июня, 2012 - 19:13:08)

 
 Top
incker
Отправлено: 09 Июня, 2012 - 13:36:46
Post Id


Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Спасибо большое, я так и делаю в данный момент) но если страничек много, последовательное скачивание очень долгое выходит.

хотелось бы одновременное скачивание.

на официальном сайте нашел такой код, только не пойму куда сохраняется котент и почему выдает
- ошибку

PHP:
скопировать код в буфер обмена
  1.  
  2. $ch1 = curl_init();
  3. $ch2 = curl_init();
  4.  
  5. // set URL and other appropriate options
  6. curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
  7. curl_setopt($ch1, CURLOPT_HEADER, 0);
  8. curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
  9. curl_setopt($ch2, CURLOPT_HEADER, 0);
  10.  
  11. //create the multiple cURL handle
  12. $mh = curl_multi_init();
  13.  
  14. //add the two handles
  15.  
  16. $running=null;
  17. //execute the handles
  18. do {
  19.     curl_multi_exec($mh,$running);
  20. } while ($running > 0);
  21.  
  22. //close the handles
  23.  
  24.  
 
 Top
incker
Отправлено: 18 Июня, 2012 - 14:21:42
Post Id


Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Спасибо) только вот не очень понятно от куда результат тут принимать?
 
 Top
Мелкий Супермодератор
Отправлено: 18 Июня, 2012 - 15:04:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




incker пишет:
только не пойму куда сохраняется котент

Никуда и не сохраняется.
См. полный пример для вашей задачи:
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://nl.php.net/manual/en/function.curl-multi-init.php#105252


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB