in reply to LWP is there any way to get "real" outgoing headers?

This won't help with logging as you mentioned, but for debugging you could try this on Linux:

nc -v -l -p 3000

Then you send the request to "http://localhost:3000" , or to your server's hostname if it's not on localhost.

This will show the entire request. You need to Ctrl-C out of it.

Google took me to this page for showing the full request headers with LWP::UserAgent and this was the actual answer I used.