Re-read the docs for InternetOpenUrl. Specifically what it says about the 1st parameter. In general though, when you're having problems with some API, the best thing is to read/re-read the docs for it, in its entirety. The 'Parameters' section, 'Return value' section, 'Remarks', etc...everything. After that if you still have problems also try googling '<api> example c++'.

Testing the target url file with a browser, it readily downloads the file, but that is not what I want to do, only to read it.
One phrase I think applies very well to programming is 'the devil is in the details'. Did you copy & paste the *exact* url I specified in my previous post? I included it there for a reason. That's the one in your InternetOpenUrl call. Entering that in the browser gives the same 'This Virtual Directory does not allow...' error that you are getting in your program.