The Malformed rule is too general and should probably be subclassed to provide
the java program more information about why the URL could not be opened.
The customer wants to differentiate between a bad protocol and a non-specified protocol.
They can do this by looking at the message, but the messages are not clearly documented
as part of the API and so may be subject to change.