So you know what I did, I was originally trying to get it working through the System.Net.Sockets namespace, but apparantly anything that streams in VB has to use threads to access form controls. I think it may have had something to do with that.. I haven't been programming since VB6 and the Winsock control was a little easier for me to use.
I've gotten it to work using the WinHttpRequest reference, I'm finding it quite straight forward to use, which is good. We'll see how much trouble I have with it later, I guess!