Расширенный file_get_contents или про cURL можно забыть

Меня всегда озадачивал вопрос - почему все так и норовят везде и всюду использовать cURL, восхваляя его? Почему просто не использовать встроенные функции вместо сторонней библиотеки, которая, к тому же, ещё и установлена не у всех? Итак, открываем завесу тьмы и развеиваем бытующее мнение о "несамостоятельности" php..

В php существует замечательная вещь - контекст потоков. Эти контексты содержат в себе наверно весь функционал cURL (список врапперов/протоколов с описаниями) - ещё ни одна задача не заставила меня использовать cURL.

Чтобы не остаться голословным, маленький пример реализации POST запроса из мануала на встроенных функциях:

  1. <?php
  2.  
  3. $postdata = http_build_query(
  4. array(
  5. 'var1' => 'some content',
  6. 'var2' => 'doh'
  7. )
  8. );
  9.  
  10. $opts = array('http' =>
  11. array(
  12. 'method' => 'POST',
  13. 'header' => 'Content-type: application/x-www-form-urlencoded',
  14. 'content' => $postdata
  15. )
  16. );
  17.  
  18. $context = stream_context_create($opts);
  19.  
  20. $result = file_get_contents('http://example.com/submit.php', false, $context);

Комментариев нет:

Отправить комментарий