class_docstr: Validate an URL.
  
  Example::
  
      parser = reqparse.RequestParser()
      parser.add_argument('url', type=inputs.URL(schemes=['http', 'https']))
  
  Input to the ``URL`` argument will be rejected
  if it does not match an URL with specified constraints.
  If ``check`` is True it will also be rejected if the domain does not exists.
  
  :param bool check: Check the domain exists (perform a DNS resolution)
  :param bool ip: Allow IP (both ipv4/ipv6) as domain
  :param bool local: Allow localhost (both string or ip) as domain
  :param bool port: Allow a port to be present
  :param bool auth: Allow authentication to be present
  :param list|tuple schemes: Restrict valid schemes to this list
  :param list|tuple domains: Restrict valid domains to this list
  :param list|tuple exclude: Exclude some domains
class_docstr_tok: ["Validate","an","URL",".","Example",":",":","parser","=","reqparse.RequestParser","(",")","parser.add_argument","(","'url","'",",","type=inputs.URL","(","schemes=","[","'http","'",",","'https","'","]",")",")","Input","to","the","``","URL","``","argument","will","be","rejected","if","it","does","not","match","an","URL","with","specified","constraints",".","If","``","check","``","is","True","it","will","also","be","rejected","if","the","domain","does","not","exists",".",":","param","bool","check",":","Check","the","domain","exists","(","perform","a","DNS","resolution",")",":","param","bool","ip",":","Allow","IP","(","both","ipv4\/ipv6",")","as","domain",":","param","bool","local",":","Allow","localhost","(","both","string","or","ip",")","as","domain",":","param","bool","port",":","Allow","a","port","to","be","present",":","param","bool","auth",":","Allow","authentication","to","be","present",":","param","list|tuple","schemes",":","Restrict","valid","schemes","to","this","list",":","param","list|tuple","domains",":","Restrict","valid","domains","to","this","list",":","param","list|tuple","exclude",":","Exclude","some","domains"]
code: def __init__(
      self,
      check=False,
      ip=False,
      local=False,
      port=False,
      auth=False,
      schemes=None,
      domains=None,
      exclude=None,
  ):
      self.check = check
      self.ip = ip
      self.local = local
      self.port = port
      self.auth = auth
      self.schemes = schemes
      self.domains = domains
      self.exclude = exclude
  
imports: from __future__ import unicode_literals
  import re
  import socket
  from datetime import datetime, time, timedelta
  from email.utils import parsedate_tz, mktime_tz
  from six.moves.urllib.parse import urlparse
  import aniso8601
  import pytz
label_desc: Use image node_id 1 to create a new URL object from inherited base classes: object with example: obj = URL(check, ip, local, port, auth, schemes, domains, exclude)