cURL / Mailing Lists / curl-library / Single Mail

curl-library

RE: Comparison with WinInet

From: David Byron <DByron_at_everdreamcorp.com>
Date: Fri, 13 Aug 2004 09:34:50 -0700

On Fri, 13 Aug 2004, Daniel Stenberg wrote:

> On Thu, 12 Aug 2004, Jeffrey Phillips wrote:
>
> > That said, has anyone out there done an in-depth comparison
> > of cURL with WinInet? Also note that portability is a very
> > low priority for me right now.
>
> I don't have any information or experience to share about
> this, but I wanted to add that I too would be very
> interested in such information and I would be happy to
> collect whatever info anyone can provide on this subject and
> host the information on the curl web site (if anyone has any
> info to offer).

There's a lot to say here. I should spend the time to get all my notes
together, but here are some highlights:

- there's a tech note from Microsoft that says not to use WinInet from
system context. Gotta dig up the link.

- Even if you ignore the tech note, there are a bunch of annoyances with
using WinInet from system context. The biggest of which is proxy
settings. In general, the settings are stored per user, so if you find
yourself in system context, the correct settings may not be there. Or,
if you need to impersonate another user, you're in the same boat. Gotta
love the plain text config file. I am curious if people worry about
their proxy credentials lying around in plain text, or if they encrypt
them, or what.

- Even with the correct settings, there are certain versions of IE (I
think it's 6, and maybe with some service packs) that don't work
properly when communicating to proxies with basic authentication.

- There are so many sweet features with curl that I doubt are available
with WinInet. I'm using the curl executable, so I get bandwidth
limiting which isn't in the library, but --speed-time and --speed-limit
are great.

- I haven't started using c-ares, but the non-blocking DNS lookups
should make the whole thing that much more reliable.

- I'm not sure what javascript support is available in WinInet. That's
something I need to figure out at some point. It might be a plus for
WinInet. I'm really looking to it for proxy autoconfig stuff. Even
with a standalone solution where I call curl and pass the output to my
own interpreter, I still need to answer questions like how often to
refresh my proxy info, etc. I could see it getting complicated. If
WinInet does all that for you...it might be tempting. But, the
limitations above are enough of a struggle that I wouldn't even consider
it.

- I've never tried to deal with Microsoft for WinInet support, but the
curl support (i.e. this list, and Daniel in particular) is _really_
good.

- Even if portability isn't a concern now, it might be later. And,
there's more than just code portability. If you get good with curl,
you'll have a useful skill if you work on other platforms. I doubt
we'll see WinInet ported anywhere else anytime soon.

Hope this helps.

-DB
Received on 2004-08-13