Downloading binary files off the Web on the Pocket PC - tips and tricks
(and saving HTML pages that would otherwise not be savable)
Unfortunately, binary files in Pocket PC browsers (thereíre no exceptions!) are treated as textual files and are always rendered so, unlike in their desktop cousins, which download them at once as binary content. This means a PPC Web browser will always
try to render a, say, CAB file instead of downloading it as a binary file (thi is one of the reasons of why many PPC developers put their CABís in ZIP files Ė ZIP files are saved by the browsers). This makes it almost impossible to easily
Thereíre, naturally, ways of combatting this. Under Pocket Internet Explorer (PIE) (if you donít use the MultiIE plug-in), for example, you only need to go to the cache (\Windows\Profiles\guest\Temporary Internet Files\Content.IE5\
on WM2003+ devices) and look for the file yourself in all of the subdirectories. As thereís no central index file, youíll need to use, for example, Total Commander (TC)
to look for the binary files youíve downloaded. For example, letís assume youíve clicked a ScreenLock.cab
file in some Web page. Then, just navigate to \Windows\Profiles\guest\Temporary Internet Files\Content.IE5\
with TC, choose File/Find Files
and enter ScreenLock*.cab
in the upper textfield:
Note the asterisk (*) at the end of the name. Itís needed because itís by using indices that the PIE cache is separating files of the same name from each other. Most likely, your file will have an index 
, but itís better to make a more generic search.
Please note that you canít just make PIE render a (binary) page and, then, just choose ďSave pageĒ feature of Spb Pocket Plus (SPP)
. SPP will present the menu item to do so, but this feature wonít start.
This (let PIE render the binary resource and choose Save Web Page As
from the menu in the page) works, however, with MultiIE
. Donít be afraid of the .html
extension of the file MultiIE creates Ė it will work because, as always, itís just a direct copy from the PIE cache.
Unfortunately, with the other browsers, this isnít possible: ThunderHawk (TH)
doesnít cache at all and, much as NetFront (NF)
does, it also includes the HTTP response headers in even binary response files in its cache. You would need to strip them first in order to get a 100% original file. (Note that Iím referring to the latest versions.)
As has already been pointed out, the PIE-based page saving in SPP and MultiIE always retrieves files from the PIE cache. This is the reason for why PIE plug-ins with page saving capabilities (SPP, MultiIE) fail at saving pages like those of the Brighthand, AximSite, iPAQ HQ and (most of) PPCT forums (FirstLoox and PPCMagazine works). These pages are stored in a non-human-readable, compressed form form in the PIE cache. (Just give it a try if you donít believe me: try to save any BrightHand (AximSite etc) forum page and check whether you can actually read the saved page). This is why not even MultiIE will be able to retrieve these pages. If we had something like ďSave target asĒ, these pages could be also saved, even on PIE.
In this respect, NF is certainly better. Much as you canít explicitly save files/pages in NF, its cache (itís located in the cache
subdirectory in the NF home, unless you configure it otherwise) is pretty easy to browse even without Tocal Commander and will always contain HTML files in a human-readable form.
Instead of using the original filenames, the cache has an index file, cache.fat
, with both the source URL and the cache file it refers to. What is more important, as has been stated, the HTML pages that PIE fails at saving in textual format are all there in a human-readable form. With HTML pages (unlike with the case of binary files), the additional HTTP response headers wonít cause problems either.
So, we have two problems: a generic problem (the inability to save anything binary easily
) and the compression problem of the PIE cache. What should we use in this situation? Of course, direct link saving as in the ďSave Target AsĒ in desktop browsers.
Of the many PPC-based PIE plug-in/standalone browser programs, itís only ftxPBrowser
that is able to directly
save the contents of a link (like the above-mentioned ďSave Target AsĒ option in Internet Explorer). This works great with URLís that have no question marks in them Ė that is, URLís that pass no GET parameters at all to the server:
Otherwise, the standard system-level Save Dialog will add the file an extension containing the question mark: it thinks it is its type and doesnít let the user change it:
, which prohibits the file to be written to the file system (you canít create any file in a Windows file system that has a ? or a * wildcards in them). Unfortunately, changing the Save Dialog to that of Mad Programmer
wonít help either. Much as you can now change the name and, therefore, seemingly eliminate the :
Unfortunately, this means itís entirely impossible to save any pages that have URLís containing additional GET parameters (that is, containing a question mark).
VITO MobileDownloader 2.2
to the rescue! Iíve tested this on both platform versions and it, some smaller problems (ďcanít connectĒ error messages now and then) aside, worked flawlessly. It saved everything Iíve thrown it at. Also, it integrates well into the PIE (but not in NF/TH!) link context menu, as a new ďMobile Download
Ē command. (Note that it doesnít integrate in NF or TH!)
The only problem with VITO MobileDownloader 2.2 is that the context menus (even those of non-links, that is, the ones that have nothing to do with VITO MobileDownloader) after installation become small on SE VGA devices. This is a minor annoyance, though, and is really dwarfed by the ability to save both HTML pages that have been previously been impossible to save with PIE and binary content without the need for some manual hacking or using MultiIE.
(I had problems at first when installing the program on my WM2003SE PL720 which already had an additional connection group with a single BT connection in it. It wouldnít connect Ė neither through the AS Internet pass-through nor the active BT GPRS DUN connection. After a hard reset and not restoring anything, it worked OK via the AS Internet pass-through and the newly-created GPRS DUN connection).