'@param url: The URL to which to post method calls.  Calls will be made
over SSL if the scheme is HTTPS.  If netloc contains username or
password information, these will be used to authenticate, as long as
the C{user} and C{password} arguments are not specified.
@type url: L{bytes}'

def __init__(self, url, user=None, password=None, allowNone=False, useDateTime=False, connectTimeout=30.0, reactor=reactor):

    (scheme, netloc, path, params, query, fragment) = urllib_parse.urlparse(url)
    netlocParts = netloc.split('@')
    if (len(netlocParts) == 2):
        userpass = netlocParts.pop(0).split(':')
        self.user = userpass.pop(0)
        try:
            self.password = userpass.pop(0)
        except:
            self.password = None
    else:
        self.user = self.password = None
    hostport = netlocParts[0].split(':')
    self.host = hostport.pop(0)
    try:
        self.port = int(hostport.pop(0))
    except:
        self.port = None
    self.path = path
    if (self.path in ['', None]):
        self.path = '/'
    self.secure = (scheme == 'https')
    if (user is not None):
        self.user = user
    if (password is not None):
        self.password = password
    self.allowNone = allowNone
    self.useDateTime = useDateTime
    self.connectTimeout = connectTimeout
    self._reactor = reactor
