2015-10-08 2 views
0

У меня есть определенная проблема, которая требует от меня повторного использования нескольких ручек cURL. Есть ли способ сделать это? Я пытался использоватьСброс/повторное использование/клонирование cURL Multi Handle

curl_copy_handle() 

И это не сработало говоря

curl_copy_handle(): supplied resource is not a valid cURL handle resource 

Который не является полностью неожиданным. Есть ли способ повторно использовать или клонировать мультирум cURL?

Edit: Вызов

clone 

также не работает

Fatal error: __clone method called on non-object 

ответ

1

Я не думаю, что это возможно с помощью одной встроенной функции.

Когда вы создаете оригинальную рукоятку cURL multi, перед каждым вызовом curl_multi_add_handle() сохраните копию каждого простого (правильного) дескриптора в массиве A с curl_copy_handle().

Затем, когда вам нужно повторно использовать мульти ручку:

  • Создать новую пустую с curl_multi_init()
  • Петля через каждый элемент
  • В петле, используйте curl_multi_add_handle() добавить копия (опять же, с curl_copy_handle()) каждой легкой рукоятки на новую мультирумную рукоятку
+0

То, что я закончил, было использование оригинальной ручки multicURL, но удаление всех ручек cURL и их обратно. Это было намного быстрее, чем снова вызвать curl_multi_init. –

Смежные вопросы