libcurl – power your apps with internet
I was always looking for a good download manager in linux. There are plenty in windows with lot of options, adware etc.
After a lot of search only to my disbelief there are no good download managers in linux. So I tried to bring my own download manager to the arena. However, one thing we must remember is that linux is full of awesome or legen – wait for it – dary (as neil patrick famously says) libraries allover. So we need not build an app from scratch. One such library is libcurl.
libCurl
[ libcurl is a free and easy-to-use client-side URL transfer library, supporting 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!
libcurl is highly portable, it builds and works identically on numerous 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, DOS and more...
libcurl is free, thread-safe, IPv6 compatible, feature rich, well supported, fast, thoroughly documented and is already used by many known, big and successful companies and numerous applications. ]
courtesy : libCurl website (http://curl.haxx.se/libcurl)
How to use in your apps
Basically the libcurl library provides you the call back functions which you can register in your c code and every time a post request is done the resulting web page or data is received. Data received in your call back function can be written to the file for downloading.
Let’s do it for a download manager
Decide what is the front end that you want to use ?
- GTK +
- QT
- KDE Develop
Link the libcurl library with front end IDE project
Include front end options like URL to download, proxy options etc.
Voila !!! Whole thing is not easy as it sounds !!
However, this post only gives you an introduction about libcurl and its uses.
Wait for a detailed post on how to create a download manager in linux with lots and lots of screen shot and guide !!
