Libopennet allows developers to open_net() files or URLs
alike, and get a file descriptor back that they can use to
read data from. It supports HTTP (read-only) and FTP
(read or write). It also comes with read_net() to do a
forceful read(), and lseek_net() for calling lseek on the
socket/file.