Я хочу использовать библиотеку CURL, но не хочу ее сложно устанавливать
Я просто хочу сделать что-то подобное
require_once('curl.php');
Я не уверен, возможно ли это или нет? и где я могу найти этот класс CURL?
спасибо
PHP требует, чтобы он был собран с библиотекой cURL, см .:
http://www.php.net/manual/en/curl.installation.php
Таким образом, вы должны установить libcurl-devel для вашей системы, а затем скомпилировать PHP с
--with-curl
А может быть
--with-curl=/path/to
Если вы установили его в нестандартном месте.
Ваша копия PHP либо должна быть построена с помощью Curl, либо динамически загружать ее (поскольку Curl изначально не написан на PHP, это библиотека C).
Создайте простой скрипт, который вызывает phpinfo (). Если curl был встроен, он должен отображаться на этой странице.
phpinfo ();
Существует также отдельная версия под названием «MyCurl», которую можно включить без установки:
http://www.phpclasses.org/package/3588-PHP-Pure-PHP-implementation-of-the-cURL-library.html
Я использовал его в своем проекте, и он отлично работал с http-запросами.
Этот класс предоставляет альтернативную реализацию функций расширения cURL в чистом PHP. Он автоматически определяет, доступна ли библиотека cURL. Если он недоступен, он определяет несколько функций с одинаковыми именами расширения cURL, которые используют класс для эмуляции части исходной функциональности. В настоящее время он реализует функции: curl_init, curl_exec, curl_setopt и curl_close. Некоторые из наиболее важных параметров могут быть установлены с помощью функции curl_setopt.
Этот класс предоставляет альтернативную реализацию функций расширения cURL в чистом PHP.
Он автоматически определяет, доступна ли библиотека cURL. Если он недоступен, он определяет несколько функций с одинаковыми именами расширения cURL, которые используют класс для эмуляции части исходной функциональности.
В настоящее время он реализует функции: curl_init, curl_exec, curl_setopt и curl_close. Некоторые из наиболее важных параметров могут быть установлены с помощью функции curl_setopt.
, хотя у него есть небольшие ошибки, он исправляет это:
требуется @, если запрашиваемый домен заканчивается до "/":
return "/".@$tmp[1];
если вы не используете прокси, вам нужно установить
if (isset ($ this-> proxy) и $ this-> proxy ["host"]) ...
if (isset ($ this-> headers ["location"]) и $ this-> headers ["location"]> "") {...
недостаток в том, что этот класс до сих пор поддерживает https. там вам понадобится класс Snoopy: https://stackoverflow.com/a/1154247/1069083
Существует реализация Pure PHP Curl libCurlEmu
Только помните: вы должны только использовать этот тип вещи в качестве крайней меры, если вы не можете заставить работать расширения.