by Spike » Wed Jul 04, 2012 1:03 pm
there's an argument to disable the cookie ui, so that should help mitigate that.
popen+wget = yay... assuming you have wget installed.
with fte, I have some http+ftp download stuff that I wrote a while ago, using system sockets. I'm not going to claim that its perfect, but it works suffienctly for me. the biggest annoyance for me is that it lacks https support, but that's a general socket-layer annoyance and applies to certain other things like websockets+tcpconnect etc.
http itself is not an overly complicated protocol, but there's a lot of twiddles like redirects. any html resources with meta redirects are impossible to follow from a purely http aproach.
The windows-only thing isn't a major problem as you can always just #ifdef _WIN32 it anyway, with a fallback stub that just returns some sort of error. However, if you do intend to be portable, alternative implementations on different platforms are a pain. Its easier to test if its the same on all platforms.
You could always statically link. FTE statically links against zlib+libpng+libjpeg on windows, so no conflicts there.
Alternatively, app-controlled dynamic linking can be used as a way to query versions or to ensure that the whole thing doesn't blow up if someone shoved the wrong dll version in there.
Tbh, the biggest pain with dlls is with 32bit vs 64bit builds.
Statically linking will generally allow all the unused entrypoints of a library to be stripped out, giving smaller zip sizes etc, so there's more upsides to doing so than just the obvious.
.