cURL Hosting: Compare Hosting
Oops! No Hosting Plans Match Your Search
You've selected a combination of features that none of the web hosts we profile offer. We suggest you remove your last filter or reset & start again.
Ask Our Experts
Need help with your hosting? Tell us exactly what you are looking for and we’ll do our very best to help. Please allow one working day for a response.
Please fill in all fields.
Thanks! Your request has been sent. We'll reply within 24 hours.
Recommended Host for 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 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.
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.
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.
What cURL Does
cURL is essentially a file transfer tool with a very simple, clear 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 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.
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.
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. Support is included for OpenSSL, PolarSSL, axTLS, yassl and more.
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
- IMAP,POP3 and SMTP.
There are many other protocols besides these, facilitating practically any type of file transfer. Read more about libcurl here.
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.
Working in combination, cURL and libcurl give developers a fast and simple way to pull content into PHP pages.
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 module within Apache and an extension for PHP. Your host should be able to install both parts quickly if it's not already present. To check, view your php.ini file and look for a line that says cURL support enabled.
- 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.
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.