Using threads heavily in Windows GUI applications will lead to problems.
My setup is always built on top of POE and a single worker thread using Thread::Queue. This mechanism has given me quite the flexibility in my projects.
You join the thread just before the application is closed. That seems to be a work around for the crash problems caused by the bugs in the GUI libraries.
In your case, I would have a look at
POE-Component-Client-HTTP. Also, you may not need a thread.
"Geneva will not marry you no matter how much you love Larry Wall." Geneva Wall.