Hi Dion, great script!
I am experiencing the same issues as discussed in this thread.
The only transport method that works on my server is PHP Streams.
When I ran the test, cURL returned An Error has occured: name lookup timed out. Others returned positively, but they didn't solve the HTTP Error issue apart fro, PHP Streams (which seems to be unreliable at times and still returns the occasional HTTP Error message)
My server (VPS) hosts a lot of my client's websites which are WordPress installs. So this is a massive blow to me. I did not make any changes to the server configurations before this happened. I didn't change anything in PHP. It just suddenly stopped working out of the blue.
So while we have this great work around, it just won't suffice. I need to kill the root of the problem, which is: Why did cURL suddenly start to fail server wide? Would be great if you could let me know what I should be looking at within my php config, or anything else for that matter.