There's a wrapper for it that will be included in Phobos.  This wrapper is easier to work with for D.

It has  structs for HTTP, FTP and SMTP.

https://github.com/jcd/phobos/blob/curl-wrapper/etc/curl.d

2012/1/10 simendsjo <simendsjo@gmail.com>
Anyone using this module?
For a complete curl newbie, it's far from simple.. The names have changed, and are inconsistent. Is it CurlOpt.write_function or CurlOpt.writefunction? CurlOpt.connect_only or CurlOpt.connectonly?

I'm having a hard time finding any tutorials on libcurl. Or rather... I'm having a hard time finding example code on doing the most elementary task: Get a html page as a string! :|

The simplest c example shows how to do this in 4 lines, but not how to get the actual result! Where is the page I just downloaded?

   auto curl = curl_easy_init();
   assert(curl);
   scope(exit) curl_easy_cleanup(curl);

   curl_easy_setopt(curl, CurlOption.url, toStringz(url));
   assert(curl_easy_perform(curl) == 0);

And now..?