Tienes que hacer un interpretador de html, un teclado y a partir de ahi haces las funciones para que funcione bien. Si quieres bajar un archivo, yo solo sé de una forma: Tener un archivo txt con codigos hexadecimales del archivo. Luego guardar toda esa informacion en un búfer(char *buffer = malloc(256*256);), crear un nuevo archivo, y en él grabar en modo binario(wb(WriteBinary))los datos cojidos anteriormente. Pero para bajarse un archivo directamente NPI.