The Best cURL Hosting: Who's The Best For Your Site? [Updated: 2018]

⚙ Filter Results

Compare cURL Hosting

compare curl hosting

What You'll Learn

It's inside your Mac. It's used by BMW, Microsoft, Blackberry, and Cisco among many other global giants.

It's become indispensable to developers and is used by an estimated half a billion people.

What is cURL and what is it used for?

We'll cover these questions and more, including what to look for in a cURL host.

And I'll make a few recommendations for cURL hosts as well.

what-is-curl

What Is cURL?

cURL is a well-established Linux utility that's often advertised by web hosts.

cURL allows users to quickly access the contents of a file, obtained via a URL, from within a PHP script.

This sounds simple, yet cURL is extremely powerful.

It's indispensable for developers, and, due to its multi-purpose nature, it's often a prerequisite demanded by other applications and scripts.

cURL homepage
cURL homepage screenshot via WhoIsHostingThis

cURL's History

cURL was originally developed in 1997, with its name being coined the following year. It stands for Client URL Request Library or Curl URL Request Library, and it's distributed as part of the operating system on a huge range of devices.

What is libcurl?

The project, which also includes libcurl, is lead by Swedish developer Daniel Stenberg and run by a large team of volunteers.

Stenberg started off developing for the Commodore 64 and is now part of the Mozilla project, employed to work on the Firefox browser.

libcurl homepage
libcurl homepage screenshot via WhoIsHostingThis

How Many People Use cURL?

The team behind cURL says that it's impossible to say how many people are using their tool.

At the last count, in mid-2012, Stenberg estimated that it's being used by more than 550 million people.

This figure includes users of Debian, users of iOS devices, people who have purchased certain TVs and DVD players, and players of games like Second Life.

Find The Best cURL Hosting For You

Showing top 10 results Show All
SiteGround screenshot
SiteGround StartUp plan
  • Support 5 stars
  • Features 5 stars
  • Uptime 5 stars
  • Value 4.5 stars
5 stars
1962 user reviews
Usual price:
Get % off!
$3.95/mo
(Billed as $3.95 Per Month) Prices in are approximate, based on current exchange rates. The host will likely charge you in USD, or at a different exchange rate.
Visit Host
iPage screenshot
iPage Basic VPS Hosting plan
40GB 1TB
  • Support 4 stars
  • Features 4 stars
  • Uptime 4 stars
  • Value 4 stars
4 stars
435 user reviews
Usual price:
Get % off!
$19.99/mo
(Billed as $19.99 Per Month) Prices in are approximate, based on current exchange rates. The host will likely charge you in USD, or at a different exchange rate.
Visit Host
InMotion+Hosting screenshot
InMotion Hosting R-1000 plan
80GB 800GB
  • Support 4 stars
  • Features 4 stars
  • Uptime 4 stars
  • Value 4 stars
4 stars
549 user reviews
Usual price:
Get % off!
$13.99/mo
(Billed as $13.99 Per Month) Prices in are approximate, based on current exchange rates. The host will likely charge you in USD, or at a different exchange rate.
Visit Host
A2+Hosting screenshot
A2 Hosting Entry VPS plan
20GB 2TB
  • Support 4.5 stars
  • Features 4.5 stars
  • Uptime 4.5 stars
  • Value 4.5 stars
4.5 stars
229 user reviews
Usual price:
Get % off!
$5.00/mo
(Billed as $5.00 Per Month) Prices in are approximate, based on current exchange rates. The host will likely charge you in USD, or at a different exchange rate.
Visit Host
HostPapa screenshot
HostPapa Bronze Reseller plan
50GB 500GB
  • Support 4 stars
  • Features 4 stars
  • Uptime 4 stars
  • Value 4 stars
4 stars
381 user reviews
Usual price:
Get % off!
$19.95/mo
(Billed as $19.95 Per Month) Prices in are approximate, based on current exchange rates. The host will likely charge you in USD, or at a different exchange rate.
Visit Host
HostGator screenshot
HostGator Linux Hatchling plan
  • Support 3 stars
  • Features 3.5 stars
  • Uptime 3.5 stars
  • Value 3 stars
3.5 stars
572 user reviews
Usual price:
Get % off!
$2.75/mo
(Billed as $2.75 Per Month) Prices in are approximate, based on current exchange rates. The host will likely charge you in USD, or at a different exchange rate.
Visit Host
Fat+Cow.com screenshot
Fat Cow.com Basic VPS Hosting plan
40GB 1TB
  • Support 2.5 stars
  • Features 3 stars
  • Uptime 3 stars
  • Value 2.5 stars
3 stars
142 user reviews
Usual price:
Get % off!
$19.99/mo
(Billed as $19.99 Per Month) Prices in are approximate, based on current exchange rates. The host will likely charge you in USD, or at a different exchange rate.
Visit Host
GreenGeeks screenshot
GreenGeeks EcoSite Starter plan
  • Support 4.5 stars
  • Features 4.5 stars
  • Uptime 4.5 stars
  • Value 4.5 stars
4.5 stars
349 user reviews
Usual price:
Get % off!
$3.95/mo
(Billed as $3.95 Per Month) Prices in are approximate, based on current exchange rates. The host will likely charge you in USD, or at a different exchange rate.
Visit Host
JustHost screenshot
JustHost Reseller Hosting Silver plan
100GB 15MB
  • Support 2 stars
  • Features 3 stars
  • Uptime 2.5 stars
  • Value 2.5 stars
2.5 stars
151 user reviews
Usual price:
Get % off!
$19.95/mo
(Billed as $19.95 Per Month) Prices in are approximate, based on current exchange rates. The host will likely charge you in USD, or at a different exchange rate.
Visit Host
LiquidWeb screenshot
LiquidWeb 2 GB VPS plan
40GB 10TB
  • Support 4.5 stars
  • Features 4.5 stars
  • Uptime 4.5 stars
  • Value 4.5 stars
4.5 stars
62 user reviews
Usual price:
Get % off!
$59.00/mo
(Billed as $59.00 Per Month) Prices in are approximate, based on current exchange rates. The host will likely charge you in USD, or at a different exchange rate.
Visit Host

What cURL Does

cURL is a file transfer tool with a simple purpose: to access HTTP content from a PHP script or the command-line.

The former is arguably the more common usage of cURL, since it lets a script pull in content or evaluate the content of another file on the web.

cURL: a Command-Line Tool

cURL command-line
cURL command-line screenshot via WhoIsHostingThis

cURL downloads or sends data using a URL. It is a command-line only tool, and its developers clearly state that it will never get a graphical user interface.

If used properly, cURL is a very powerful way to pull data into a PHP script.

cURL vs. wget

If you've transferred files using the command-line, you've probably come across wget. While wget is designed to transfer large numbers of files, cURL is really good at transferring one at a time.

Note that cURL has no recursive mode, which backs up that statement.

Advanced cURL Features

cURL can also connect to data sources and transfer files using FTP, connect via SSL and send a username and password to gain access to a file that requires a login.

SSL code isn't built into cURL but requires a compatible library. Support is included for OpenSSL, PolarSSL, axTLS, yassl and more.

cURL uses

How Web Applications Use cURL

The best use case for cURL is grabbing a whole file from a remote server.

Code that handles a file interactively or only needs to examine part of it should use a different approach. Apart from this, cURL is very versatile.

cURL: the File Transfer Swiss Army Knife

The developer will write a callback function which is invoked as the data comes in. It can write the data to a file, forward it to another server, or process it in any way necessary.

Setting up a progress indicator as a file is downloaded is a straightforward programming task.

With appropriate coding, the user of a web application can continue using it for other tasks and get a notification when the file is completely downloaded.

Can I Use cURL to Upload Files?

It's possible to upload as well as downloading files with cURL, though using it this way is less common.

It can upload by FTP, a POST request, or other ways.

Most servers on the web accept only authenticated uploads, and cURL can handle several authentication methods.

Understanding libcurl

While the cURL application does the actual copying, libcurl is the bundle of instructions that helps it to connect to the data source.

Written in C, libcurl is essentially a protocol library that includes:

  • FTP, FTPS, and SFTP
  • HTTP and HTTPS
  • LDAP and LDAPS
  • Gopher
  • IMAP, POP3, and SMTP

There are many other protocols besides these, facilitating practically any type of file transfer.

cURL Library

The library is highly versatile, supporting HTTP POST and GET requests, multiple types of authentication, proxy tunneling, and IPv6 addresses. It can be set up to deal with firewalls.

The libcurl library is cross-platform compatible, so it can be transplanted into any cURL installation on practically any device.

What's more, libcurl is free and can be used as part of other applications, even if those applications are not open source.

How to Get libcurl

There are several ways to get libcurl:

  1. Pre-installed from your hosting provider
  2. Installed from a package manager on a private server
  3. Compiled from source
  4. Downloading the source via git
  5. Installing all the dependencies to build curl and then compiling it.

Calling libcurl

Two ways of calling libcurl are available: East and Multi.

The Easy interface is a straightforward way to get a file with a minimum of code. The Multi interface allows multiple transfers in parallel. Coding is a bit more complicated.

Support for libcurl isn't limited to PHP. Almost every popular language has an interface for issuing cURL requests.

Language Library or interface
Java curl-java (incomplete)
.NET libcurl-net
node.js node-libcurl
Perl WWW--curl, perl6-net-curl
Python pycURL
Visual Basic libcurl-vb

Working in combination, cURL and libcurl give developers a fast and simple way to pull content into PHP pages.

cURL Hosting Requirements

If you want to install a script like Zen Cart, you will need to ensure your host is running cURL.

Some applications need it to check for updates, and some WordPress plugins need cURL support to function correctly.

  • On Linux, cURL is installed in two parts; as a Linux module and an extension for PHP. Your host should be able to install both parts quickly if it's not already present.
  • On Windows, the cURL extension is automatically installed with the rest of the WAMP stack, so your host should not need to do anything more.

If you're stuck with a host that doesn't have cURL enabled, ask them — it never hurts to try.

There are alternative ways to achieve the same results, but it may rule out many of your options when you're developing and expanding your website.

Summary of cURL features:

  • Simple, widely supported way to transfer remote files programmatically
  • Supports HTTP, HTTPS, FTP, and other protocols
  • Support for authentication

cURL Hosting Frequently Asked Questions

  • What is cURL?

    cURL is a completely free software project consisting of libcurl — a C-based client-side URL transfer library, and curl — a command line tool for transferring files using URL syntax.

    A similar tool is Wget. It is able to recursively download a large number of files, cURL is made to do a single-shot transfer of data. cURL offers uploading and sending capabilities, while Wget only offers plain HTTP POST support. Also, cURL builds and runs on lots more platforms then Wget.

  • What exactly is cURL used for?

    The most common use of cURL is to access HTTP content from a PHP script or command line. It enables a script to use the contents of another file on the web.

    One example would be a C program that uses the cURL library to send data to a PHP script on a web server, where the script then stores the data in a MySQL database.

  • Which transfer protocols does cURL support?

    cURL supports the following transfer protocols: DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. Libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos), file transfer resume, HTTP proxy tunneling and more.

  • How can I use cURL in my favorite programming language?

    Numerous interfaces are available for more than 40 languages, including: Ada95, Basic, C, C++, Ch, Cocoa, D, Dylan, Eiffel, Euphoria, Ferite, Gambas, glib/GTK+, Haskell, ILE/RPG, Java, Lisp, Lua, Mono, .NET, Object-Pascal, O'Caml, Pascal, Perl, PHP, PostgreSQL, Python, R, Rexx, Ruby, Scheme, S-Lang, Smalltalk, SP-Forth, SPL, Tcl, Visual Basic, Visual FoxPro, Q, wxwidgets and XBLite and more. There are also custom bindings to the libcurl library made by other projects and people, outside of the cURL project.

  • What about platform support for cURL?

    cURL is highly portable, it builds and works on many different platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, and DOS.

  • What are the hosting requirements for cURL?

    On Windows hosting, cURL is automatically installed with the WAMP software stack. Linux hosting installs cURL in two parts, as a module within Apache and an extension for PHP. Most hosting providers today already have cURL installed on their servers. If not, your host should be able to install cURL quickly.

  • Can You limit cURL bandwidth usage?

    Yes, cURL allows you to limit the transfer rate. You can specify the maximum transfer rate for cURL which is useful if you do not want your transfers to use up your entire bandwidth allocation. The specified limit affects both downloads and uploads from cURL.

  • Are there any compatibility issues I should be aware of?

    Not really, at least not with the latest version of cURL. There was an issue with PayPal when it discontinued support for SSL 3.0 in December 2014, but that was only the case with outdated version of cURL.

  • Are ASP, XML, or XHTML supported by cURL?

    Yes, they are all supported, it does not matter how the page was generated. cURL does not even know which language or technology is used to generate a page.

  • What are the most common hosting problems associated with cURL?

    If you simply try to access an HTTPS resource (SSL or TLS-protected resource) in PHP using cURL, you're likely to run into some difficulties. The problem is that cURL has not been configured to trust the server's HTTPS certificate, and by default, cURL is set-up to not trust any certification authorities (CA).

    There are two ways around this problem. First, you can simply configure cURL to accept any server (peer) certificate. This isn't optimal from a security point of view, but if you're not passing sensitive information back and forth, this is probably okay. The second option involves setting the CURLOPT_CAINFO parameter. This is used to point towards a CA certificate that cURL should trust.

  • Is cURL free? Will it add to my hosting bill?

    Both cURL and libcurl are open-source and are published under the MIT/X derivate license. It means that you are free to modify and redistribute all contents of cURL distributed archives. You may also freely use cURL and libcurl in your commercial projects. Using cURL should not cause any additional hosting costs.

  • What about Keep-Alive or persistent connections?

    cURL and libcurl both support persistent connections while transferring multiple files from the same server. cURL will attempt to reuse the connection for all URLs specified in the command.

  • I am concerned about security. Will using cURL cause security issues?

    No, cURL is configured by default to use secure requests over SSL/TLS. Configuring the location of an up-to-date, trusted certificate bundle is essential in keeping cURL transfers safe.

  • How important are cURL updates?

    Like all vital software components, it is always a good idea to choose a host that offers timely updates. In this respect, cURL is no exception.

Updating...