Пересылка Web-файлов из командной строки. Установка cURL на Denwer Извлечение и настройка скручивания

Is a free and open source data transfer tool used for transfer of data to and from a server using the following supported protocols: IMAP, IMAPS, POP, POP3, POP3S, DICT, FILE HTTP, HTTPS, SMB, SMBS, SMTP, SMTPS, FTP, FTPS, TELNET, RTSP, RMTP and TFTP.

During its normal operation, it displays a meter-like progress bar indicating parameters such as data transfer speed, amount of data transferred, and estimated time left. The speed is indicated in bytes per second. Let"s see how we can install curl and php-curl in various Linux distributions.

Ubuntu 18.04, 17.10 and Debian 9.3

Login as root and update your Ubuntu system first

Apt-get update

Apt-get install curl

Install php-curl

Apt-get install php-curl

Apt-get install php5.6-curl

Apt-get install php5.5-curl

Verify curl is installed and check its version

From source

Visit curl"s website and download the latest curl version by copying the link and using wget command

Uncompress the tarball file using the tar command below

Cd curl-7.57.0

You"ll require the C compiler to build the source code. Install the C compiler as shown below.

Apt-get install build-essential

Run the commands below in succession to compile the source code

Centos 7

Login as root and run

Yum install curl

Installing php-curl

Yum install php-curl

From source

Just like we did in Ubuntu 17.10, navigate to curl"s website and download the curl tarball.

Wget https://curl.haxx.se/download/curl-7.57.0.tar.gz

Uncompress the tarball

Tax -xvf curl-7.57.0.tar.gz

Navigate to the uncompressed folder

Cd curl-7.57.0

Centos 7 comes already installed with a C compiler. Run the commands below to compile the source code

./configure make make install

Verify installation of curl

Curl --verison

Fedora 27

NOTE Fedora 27 comes pre-installed with curl.

To install php-curl simply log in as root and run

Dnf -y install php-curl

Verify installation of curl

Curl --verison

Arch 2017 Linux

First, log in as root and update the system

Pacman -Sy

Pacman -S curl

Verify whether curl in installed

Pacman -Qi curl

Alpine Linux 3.7

Run apk add curl

Apk add curl

Verify installation of Curl

Apk search curl

Curl is the backbone of internet data transfer for thousands of software applications using a myriad of protocols. Being free and open source has enabled many contributors to work on the curl project and continually come up with newer and improved versions.

Jamie Arthur 3:17 am

About Jamie Arthur

James is a passionate Linux and Windows Systems Administrator with 4 years of experience in Linux, databases and Front-End development. He loves doing research on different Linux distributions and experimenting with installation and configuration of different services and features. His hobbies include swimming, reading novels and playing video games.

Те, кто использует cURL, после обновлений на 5.6.1, 5.5.17 столкнулись с тем, что модуль cURL перестал работать. Проблема с тех пор не исчезла. Даже в последней на сегодняшней момент версии PHP 5.6.4 эта проблема сохранилась.

Как узнать, работает ли у вас cURL?

Создайте php файл и скопируйте туда:

Откройте его с сервера. Если на выходе что-то вроде:

Array ( => 468736 => 3 => 3997 => 0 => 7.39.0 => x86_64-pc-win32 => OpenSSL/1.0.1j => 1.2.7.3 => Array ( => dict => file => ftp => ftps => gopher => http => https => imap => imaps => ldap => pop3 => pop3s => rtsp => scp => sftp => smtp => smtps => telnet => tftp))

Значит с cURL всё в порядке, если вместо этого ошибка PHP, значит проблема существует.

Во-первых, конечно же проверьте файл php.ini, найдите там строчку

Extension=php_curl.dll

И убедитесь, что перед ней не стоит точка с запятой.

Если всё так, а cURL не работает, то можно провести ещё один тест, для подтверждения необычности ситуации. Создайте ещё один php файл с содержанием:

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

При этом и Apache и PHP работают как обычно.

Решений три:

  1. Способ первый (не кошерный). Если у вас PHP 5.6.*, то возьмите версию PHP 5.6.0, оттуда возьмите старый файл php_curl.dll и замените его вместо вашего нового из версии, например, PHP 5.6.4. Для тех, у кого PHP 5.5.17 и выше, нужно взять этот же файл из PHP 5.5.16 и также его заменить. Проблема здесь одна — найти эти старые версии. Можно, конечно, покавыряться в http://windows.php.net/downloads/snaps/php-5.6 , но лично я там не нашёл того, что мне нужно. Да и само решение какое-то не совсем кошерное.
  2. Способ второй (очень быстрый, но тоже не кошерный). Из каталога PHP скопировать файл libssh2.dll в каталог Apache24bin и перезапустить Apache.
  3. Способ третий (кошерный — кошерные люди аплодируют стоя). Нужно добавить вашу PHP директорию в PATH. Как это сделать очень хорошо расписано в официальной документации .

Проверяем:

Вуаля, секция cURL на месте.

Почему так? Откуда взялась эта проблема? Ответа на этот вопрос нет, хотя уже описан механизм её возникновения.

Проблема связана, вроде, с тем, что 5.6.1 должен был выпущен с обновлённым libcurl 7.38.0. Но это доподлинно не известно, авторы PHP кивают на Apache, мол это там какие-то баги.

Механизм возникновения проблемы: если в системную PATH не включён каталог PHP, то когда служба Apache запускается, она не способна найти новый dll (libssh2.dll), который является зависимостью для php_curl.

Соответствующие баг репорты:

Fatal error: Call to undefined function curl_multi_init() in …

Вообще, проблемы с cURL на PHP были, кажется, если не всегда, то очень часто. В процессе гугления своей проблемы, я натыкался на темы, некоторым из которых было больше чем дюжина лет.

Кроме этого, гугление дало ещё несколько выводов:

В Интернете достаточно «инструкций для дибилов», в которых подробно, с картинками, рассказывают как раскомментировать строку extension=php_curl.dll в файле php.ini.

На официальном сайте PHP, в разделе по установке cURL, есть всего два предложения относительно системы Windows:

Для работы с этим модулем в Windows файлы libeay32.dll и ssleay32.dll должны существовать в системной переменной окружения PATH. Вам не требуется файл libcurl.dll с сайта cURL.

Я прочитал их десяток раз. Переключился на английский язык и прочитал ещё несколько раз на английском. С каждым разом всё больше убеждаясь, что эти два предложения написали животные, или кто-то просто попрыгал попой на клавиатуре — я не понимаю их смысла.

Ещё есть несколько каких-то сумасшедших советов и инструкций (некоторые я успел даже опробовать).

На сайте баг репортов ПХП я уже вплотную подобрался к разгадке, что нужно в системную переменную PATH включить каталог с PHP.

В общем, для тех, у кого проблема с cURL и кому нужно «в системную переменную PATH включить каталог с PHP», перейдите к уже названной выше инструкции http://php.net/manual/ru/faq.installation.php#faq.installation.addtopath . Там всё просто, а, главное, человеческим языком написано, что нужно сделать.

Очень давно не писал ничего по PHP , поэтому решил написать небольшую серию статей, посвящённых великолепному модулю PHP - cURL . Но прежде чем его использовать, cURL надо установить на Denwer , так как в базовую версию этого пакета cURL не входит.

Прежде чем переходить к установке cURL на Denwer , давайте кратко расскажу о возможностях, которые предоставляет данный модуль. cURL - это удобный способ для моделирования действий пользователя на сервере. Фактически, Вы можете проверять ответ сервера при том или ином запросе. Например, можете отправлять POST-запросы и смотреть, что отдаёт сервер. Например, хотите проверить работу системы авторизации. Разумеется, можно и вручную через браузер вводить логин и пароль и смотреть, что происходит. Но гораздо удобнее будет написать небольшую серию тестов, в которых происходит отправка различных примеров логина и пароля, и при этом выводится ответ от сервера: успешная авторизация или нет. А Вы уже смотрете: правильно работает скрипт авторизации или нет. Вот для подобных целей и используется модуль cURL .

А теперь давайте займёмся установкой модуля cURL на Denwer :

  • Скачайте пакет расширений: "PHP5: дополнительные модули " по этой ссылке: http://www.denwer.ru/packages/php5.html .
  • Устанавливаете скачанный пакет (предварительно остановите сервер, если он запущен).
  • В файле "usr/local/php5/php.ini " уберите комментарий из строчки: ";extension=php_curl.dll ", стерев кавычки в начале строки.
  • Запустите сервер.
  • Проверьте данные в phpinfo() . Если увидите "cURL support enabled ", значит, всё хорошо. Если нет, то внимательно проверьте: все ли шаги Вы выполнили правильно.

Думаю, что в следующей статье (а, может быть, через одну), мы с Вами будем разбирать этот модуль уже на примере использования его в PHP-скриптах , так что не переключайтесь!

Такая небольшая программка как curl умеет очень многое и вряд ли она установлена по-умолчанию на вашем VPS -сервере. Если Вы web-разработчик и не знаете, что такое curl, то стоит ознакомиться с ее возможностями и, возможно, некоторые вещи, которые раньше делались сложно, впредь будут реализованы проще и эффективнее.

Те разработчики, кто разрабатывал когда-нибудь HTML - или XML - парсеры, знают о ее возможностях.

Для себя я открыл curl только в тот момент, когда предстояло разработать плагин для Textpattern, который бы вопреки политики социальной сети “Вконтакте”, автоматически добавлял уведомление о публикации новой статьи в публичную группу. Увы, без curl у меня этого сделать так и не получилось.

После того как мы, я надеюсь, определились зачем этот самый curl нам нужен, приступаем к его установке на сервер, где стоит PHP и Apache. Если у Вас простой хостинг (не VPS ), то стоит обратиться к хостеру с просьбой его включить и он все сделает за Вас, если уже этого не сделал. У меня на одном хостинге именно так и было.

Как узнать установлен ли у меня curl?

Перед тем, как ринуться к установке, давайте проверим: возможно, он уже у Вас установлен. Я не нашел ничего проще, чем создать файл, к примеру, curl.php с содержимым:


и запустить его через браузер.

В выведенной простыне текста, можно поиском по странице поискать curl и если он у Вас не найдется, то смело полагать, что у Вас он не установлен.

Устанавливаем curl в Debian

Еще с давних времен, когда я использовал Ubuntu, я привык к DEB -дистрибутивам и менять их не хочу. Именно поэтому практически на всех своих серверах я использую в качестве операционной системы – Debian, о чем еще ниразу не пожалел.

  1. Устанавливаем все, что нужно:
    sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-mcrypt
  2. После этого нужно всего-лишь перезапустить Apache:
    sudo /etc/init.d/apache2 restart

Для подтверждения того, что curl начал свою работу нужно снова запустить наш тестовый файл – curl.php и в последний раз пройтись поиском по открытой странице. В 99% случаях Вы увидите подтверждение того, что curl уже работает и можно приступать к порабощению интернета.

P.S. Сейчас как раз такое время, когда на улице уже холодно, а отопление администрация нашего города включать пока не спешит. В такие моменты найти спасение можно только в различных обогревателях. Побочным эффектов любого обогревателей является то, что он сильно сушит окружающий воздух. Бороться с этим помогают увлажнители воздуха для дома . Именно эти два устройства вместе помогут пережить это тяжелое для России время.

21 ответ

Возможно, у вас уже есть завиток

Возможно, вам не нужно ничего скачивать:

  • Если вы используете Windows 10 версии 1803 или выше, ваша ОС поставляется с копией curl , уже настроенной и готовой к использованию.
  • Если у вас есть более эзотерические потребности (например, вам нужны сборки cygwin, сторонние сборки, libcurl, файлы заголовков, исходные коды и т.д.), Используйте мастер загрузки curl. После ответа на пять вопросов вам будет представлен список ссылок для скачивания.

    Извлечение и настройка скручивания

    Найдите curl.exe в вашем загруженном пакете; это наверное под bin\ .

    Выберите место на жестком диске, которое будет служить постоянным домом для завитков:

    • Если вы хотите сделать curl своей собственной папкой, подойдут C:\Program Files\curl\ или C:\curl\ .
    • Если у вас много свободных исполняемых файлов и вы не хотите добавлять много отдельных папок в PATH , используйте для этой цели одну папку, например C:\Program Files\tools\ или C:\tools\ .

    Поместите curl.exe в папку. И никогда не перемещайте папку или ее содержимое.

    Затем вы захотите сделать curl доступным в любом месте командной строки. Для этого добавьте папку в PATH , вот так:

    1. Щелкните меню "Пуск" Windows 10. Начните вводить "окружение".
    2. Вы увидите результат поиска. Отредактируйте системные переменные среды . Выбери это.
    3. Откроется окно "Свойства системы". Нажмите кнопку Переменные среды внизу.
    4. Выберите переменную "Путь" в разделе "Системные переменные" (нижнее поле). Нажмите кнопку Изменить .
    5. Нажмите кнопку " Добавить" и вставьте путь к папке, в которой находится curl.exe .
    6. Нажмите OK, если необходимо. Закройте открытые окна консоли и снова откройте, чтобы они получили новый PATH .

    Теперь наслаждайтесь вводом curl в любой командной строке. Время веселиться!

    Чтобы запустить завиток из командной строки

    a) Щелкните правой кнопкой мыши значок "Мой компьютер"

    b) Выберите "Свойства"

    d) Перейдите на вкладку [Дополнительно] - кнопка "Переменные среды"

    e) В разделе "Системная переменная" выберите "Путь" и "Изменить"

    f) Добавьте точку с запятой, а затем путь туда, куда вы поместили свой curl.exe(например, D:\software\curl)

Теперь вы можете запустить из командной строки, набрав:

Curl www.google.com

Начиная с Windows 10 версии 1803 (и более ранних, с инсайдерской сборкой 17063), вы больше не устанавливаете curl . Windows содержит собственный curl.exe (и tar.exe) в C:\Windows\System32\ , к которому вы можете обращаться прямо из обычного CMD .

C:\Users\vonc>C:\Windows\System32\curl.exe --version curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL Release-Date: Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL C:\Users\vonc>C:\Windows\System32\tar.exe --version bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.5.f-ipp

Вероятно, стоит отметить, что Powershell v3 и более поздних версий содержит командлет Invoke-WebRequest, который имеет некоторые возможности скручивания. Вероятно, стоит упомянуть и командлеты New-WebServiceProxy и Invoke-RestMethod .

Я не уверен, что они подойдут вам или нет, но, хотя я и не Windows, я должен сказать, что нахожу объектный подход, который использует PS, гораздо проще работать с такими утилитами, как curl, wget и т.д. Они могут стоить взглянуть на

Вы можете создать последнюю версию curl, openssl, libssh2 и zlib в 3 простых шаги, следуя этот учебник.

Curl построен статически, поэтому вам не нужно распространять необходимое динамическое время выполнения.

Вы также можете скачать предварительно созданную версию (x86 и x64) из

Я искал процесс загрузки Curl и каждый, где они сказали, копирует файл curl.exe в System32 , но они не предоставили прямую ссылку. так что здесь можно наслаждаться curl.exe легко в папке bin просто

разархивируйте его, а затем перейдите в папку bin там, где вы получите exe файл

Думал, что напишу именно то, что сделал (Windows 10, 64-битная версия):

Выберите исполняемый файл curl.

Выберите Win64.

Выберите универсальный.

Выбирай любой.

curl версия: 7.53.1 - SSL включен SSH включен. Предоставлено: Виктор Шакац. Этот пакет является исполняемым типом curl. По этой ссылке вы получите предварительно скомпилированный двоичный файл curl (или, в некоторых случаях, используя информацию, предоставленную на странице, по которой вас ведет эта ссылка). Вы можете или не можете установить libcurl как общую библиотеку /DLL. Файл упакован с использованием 7zip. 7zip - это формат архивирования файлов.

Нажмите скачать.

У вас должен быть файл curl-7.53.1-win64-mingw.7z в вашей папке загрузок.

Установите 7-Zip, если у вас его нет.

Щелкните правой кнопкой мыши, 7-Zip, Извлечь здесь. Скопируйте и вставьте извлеченный файл куда-нибудь вроде Z:\Tools\

Если вы посмотрите в папку bin, вы увидите curl.exe. Если вы дважды щелкните по нему, окно быстро вспыхнет и исчезнет. Чтобы запустить его, вам нужно использовать командную строку. Перейдите в папку bin и введите curl, а затем свои параметры, чтобы сделать запрос. Вы должны использовать двойные кавычки . Одинарные кавычки не будут работать с curl в Windows.

Теперь вам нужно добавить curl в пользовательскую переменную Path, чтобы вам не пришлось переходить в нужную папку для запуска программы. Перейдите в раздел "Этот ПК", "Компьютер", "Свойства системы", "Дополнительные параметры системы", войдите в систему как администратор (вы не являетесь администратором, верно? Верно?). Переменные среды, системные переменные, посмотрите список и выберите "Путь", затем "Редактировать", затем Новый, то, например,

Z:\Tools\завиток-7.53.1-win64-MinGW\Bin

Вы можете добавить обратную косую черту, если хотите, я не думаю, что это имеет значение. Нажмите кнопку перемещения вверх до тех пор, пока она не окажется вверху списка, и вы сможете легко увидеть ее с предыдущего экрана. Нажмите OK, OK, OK, затем откройте командную строку, и вы можете запустить curl, набрав curl из любой папки, как любой пользователь. Не забывайте свои двойные кавычки.

Это ответ, который я хотел бы получить.

Этот установщик облегчил мне http://www.confusedbycode.com/curl/

"Вы можете установить cURL для Windows всего за несколько кликов. Просто загрузите и запустите программу установки из приведенной ниже таблицы и нажмите" Установить ". Установка по умолчанию включает в себя.

Похожие статьи