Introducing libcurl

libcurl is a widely used and full-featured C library for file transfer. It’s been in active development for over twenty years, and it supports not just plain HTTP, but also HTTPS, FTP, SCP, IMAP, SMTP, Gopher, LDAP, and many other protocols. Experienced UNIX console hackers probably know the main command-line utility, curl, but you may have just as likely used it via a binding to its underlying C library from one of dozens of other languages.

Much like libuv, libcurl is designed for convenient use from other programming languages, and as you’ll see shortly, it even has hooks for integration with external event loops like libuv. In other words, it’s perfect for our use case. Even more than libuv, libcurl relies on a small ...

Get Modern Systems Programming with Scala Native now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.