Downloading a file from a URL in C

hraja's Avatar, Join Date: Apr 2010
Light Poster
Hello,

I was wondering if someone could please give me some help in opening a URL in C source code (on Ubuntu).

I have to download an XML file from a URL in one of my programs and save it on disk for parsing.

Any help would be much appreciated. Thank you very much.
0
SaswatPadhi's Avatar, Join Date: May 2009
~ Б0ЯИ Τ0 С0δЭ ~
On Ubuntu, you can do it using a system call to WGET.
Some thing like :

Code: CPP
#include <iosteam>
#include <cstdlib>
#include <fstream>
#include <string>

using namespace std;

int main()
{
    string line;

    if(system("wget www.google.com")==0)
    {
        cout << "ok\n";
        ifstream file ("index.html");
        while (!myfile.eof())
        {
            getline(file,line);
            cout<<line<<"\n";
        }
        file.close();
    }
    else
        cout << "NOT ok\n";
    return 0;
}
0
davidk's Avatar, Join Date: Mar 2010
Go4Expert Member
In case you don't have wget installed or you need some more control over downloading the file, you should use system sockets and look into HTTP RFC.
This is more complex than just executing external programs, but this knowledge will help you in the future anyway.