Currenty getbinpkg does a simple cpickle.dump and cpickle.load for all its
metadata. This is far from optimal for reasons similar to the ones already
outlined in bug #108412.
Would it be possible to rewrite that piece of caching code to use portdbapi? It
is the same kind of data after all. Maybe %encode all weird symbols ( / => %2F )
in the url and cache it as you would cache local metadata.
We can consider this fixed by the new protocol (bug 194552) which uses a plain text file for cache.