While trying to figure out how a service worked I recently had to put together a Java class that let you easily replay a http conversation which had been sniffed.
I got bored of using telnet while making small changes to the payload and curl wants requests converted into an XML format it appears.
This simple socket based class lets you send a captured http request to a service. I've removed the exception handling for brevity.
For example. Running this class with the parameters: "google.co.uk /path/to/stored/file" with the stored file being just:
Will give you this output:
For capturing payloads I recommend using tcpflow running on the target host as "tcpflow port 80"