I'm not sure we need to check for well-formed URLs here, since requests will just raise an error. I had considered catching errors from requests, enabling retries, etc, but I think that would be better handled in a subclass, if at all.