Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

IE option causes URL monikers to stop working. Please help.

11 views
Skip to first unread message

Eugueny Kontsevoy

unread,
Jan 10, 2005, 4:21:08 PM1/10/05
to
Hi,

I am using URLOpenBlockingStream() function to download the web pages.
(no callback is specified, just the stream). However, I noticed that on
some clients it does not work and simply fails with no usable error
code.

After tons of experimenting, I found out that this function stops
working under the following conditions:
- IE's security option "Do not save encrypted pages to disk" is turned
on
- The page has "private cache" in server headers (like
"http://google.com")

I decided to dump URLOPenBlockingStream() and use the monikers API
directly, but the same thing occurs, regardless of BINDF flags I
specify. (I am using ATL::CBindStatusCallback for this).

This is just a nightmare, the whole API just stops working if user
turns on that stupid option, but IE displays pages just fine (of
course).

Any ideas?? Any help will be appreciated. The alternatives, like
Winhttp, are not sutable because reusing IE's cache is critical (I am
getting the pages from IE's browser helper object, so downloading the
pages user visits second time via other API is not an option).

Igor Tandetnik

unread,
Jan 12, 2005, 6:00:46 PM1/12/05
to
"Eugueny Kontsevoy" <kont...@gmail.com> wrote in message
news:1105392068....@f14g2000cwb.googlegroups.com

> I am using URLOpenBlockingStream() function to download the web pages.
> (no callback is specified, just the stream). However, I noticed that
> on some clients it does not work and simply fails with no usable error
> code.
>
> After tons of experimenting, I found out that this function stops
> working under the following conditions:
> - IE's security option "Do not save encrypted pages to disk" is turned
> on
> - The page has "private cache" in server headers (like
> "http://google.com")
>
> I decided to dump URLOPenBlockingStream() and use the monikers API
> directly, but the same thing occurs, regardless of BINDF flags I
> specify. (I am using ATL::CBindStatusCallback for this).

Have you tried BINDF_PULLDATA | BINDF_ASYNCHRONOUS | BINDF_ASYNCSTORAGE
? It should work (but it would probably involve considerable redesign,
since you now have to download asynchronously). Asynchronous pull mode
is the only mode that, in my experience, works reliably in all
situations. MSHTML uses it internally.
--
With best wishes,
Igor Tandetnik

With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925


0 new messages