IMO , wget is the best way to do http requests right now (and IMO it’s very simple to use) as it deals with the 1001 ‘little issues’ to do with contacting a server.
I have tried to write HttpRequest modules on top of TCP before, and it always ‘sort of’ works but there’s always a server out there that doesn’t implement RFC blah123456 properly, or something to do with proxies or https or ipv6 that’ll trip it up. In other words, it’s a big job that requires a lot of http/tcp experience, something (along with time) I just don’t have.
Next thing to try would probably be to get libcurl building as a module – feel free to give this a go! It has a simple ‘C’ API that should be relatively straightforward to implement. Personally, I’m fine with wget for now so a libcurl module is down the list priority wise (for me anyway) sorry.