Using sockets and implementing the HTTP protocol, is the manual way. There are usually libraries for those languages, which already implement it; cURL for C / C++, HTTPClient for Java, etc.
Basically all you do is connect to the URL, drag down the contents and then parse it. In terms of C / C++ you can do the parsing using strtok, or using memcpy to copy the raw data into structures.
I have been working on a C / C++ library in the past, but its in a perpetual state of being fixed.