Beispiel #1
0
def geturl(url):
    c = socket.socket()
    ip = socket.gethostbyname(url)
    c.connect((ip, 80))
    print '%s connected' % url
    c.send('GET /\r\n\r\n')
    return c.recv(1024)
Beispiel #2
0
 def connect(self, *args, **kwargs):
     (host, port, block) = _conn_args(*args, **kwargs)
     # Make connection here, using eventlet
     # Somehow "hand over" control of connection to conn.
     s = socket.socket()
     s.connect((socket.gethostbyname(host), port))
     self.pile.spawn(Conn, s, self.wrapper)
def geturl(url):
    c = socket.socket()
    ip = socket.gethostbyname(url)
    c.connect((ip, 80))
    print("%s connected" % url)
    c.sendall("GET /\r\n\r\n")
    return c.recv(1024)
Beispiel #4
0
def geturl(url):
    c = socket.socket()
    ip = socket.gethostbyname(url)
    c.connect((ip, 80))
    print('%s connected' % url)
    c.sendall('GET /\r\n\r\n')
    return c.recv(1024)
Beispiel #5
0
def geturl(url):
    sock = socket.socket()
    ip = socket.gethostbyname(url)
    sock.connect((ip, 80))
    print('%s connected' % url)
    sock.sendall('''GET \r\n\r\n''')
    return sock.recv(100)
Beispiel #6
0
def geturl(url):
    c = socket.socket()
    import ipdb
    ipdb.set_trace()  ### XXX BREAKPOINT
    ip = socket.gethostbyname(url)
    c.connect((ip, 80))
    print '%s connected' % url
    c.sendall('GET /\r\n\r\n')
    return c.recv(1024)
Beispiel #7
0
def geturl(url):
    c = socket.socket()
    import ipdb

    ipdb.set_trace()  ### XXX BREAKPOINT
    ip = socket.gethostbyname(url)
    c.connect((ip, 80))
    print "%s connected" % url
    c.sendall("GET /\r\n\r\n")
    return c.recv(1024)
Beispiel #8
0
 def __init__(self):
   global mopsr_status, tcc_status
   threading.Thread.__init__(self)
   #self.pile = eventlet.GreenPile()
   self.mopsr_con = socket.socket()
   ip = socket.gethostbyname(MOPSR_IP)
   self.mopsr_con.connect((ip, MOPSR_PORT))
   #self.fd = self.mopsr_con.makefile('rw')
   mopsr_status = 'ready'
   tcc_status = 'ready'
   self.mopsr_status = mopsr_status
 def testSockName(self):
     # Testing getsockname()
     sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     sock.bind(("0.0.0.0", PORT+1))
     name = sock.getsockname()
     # XXX(nnorwitz): http://tinyurl.com/os5jz seems to indicate
     # it reasonable to get the host's addr in addition to 0.0.0.0.
     # At least for eCos.  This is required for the S/390 to pass.
     my_ip_addr = socket.gethostbyname(socket.gethostname())
     self.assert_(name[0] in ("0.0.0.0", my_ip_addr), '%s invalid' % name[0])
     self.assertEqual(name[1], PORT+1)
Beispiel #10
0
 def testSockName(self):
     # Testing getsockname()
     sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     sock.bind(("0.0.0.0", PORT + 1))
     name = sock.getsockname()
     # XXX(nnorwitz): http://tinyurl.com/os5jz seems to indicate
     # it reasonable to get the host's addr in addition to 0.0.0.0.
     # At least for eCos.  This is required for the S/390 to pass.
     my_ip_addr = socket.gethostbyname(socket.gethostname())
     self.assert_(name[0] in ("0.0.0.0", my_ip_addr),
                  '%s invalid' % name[0])
     self.assertEqual(name[1], PORT + 1)
Beispiel #11
0
    def address_lookup(self, name):
        """Performs a synchronous DNS lookup for the requested address.

        Args:
          name: A string, a hostname to lookup in the DNS.

        Returns:
          A list of one or more IPv4 dotted-quad address strings.

        Raises:
          socket.gaierror: If there was an error during DNS lookup.
        """
        return socket.gethostbyname(name)
Beispiel #12
0
    def prepare(self, local_uri=None):
        """Start listening for an incoming MSRP connection using port and
        use_tls from local_uri if provided.

        Return full local path, suitable to put in SDP a:path attribute.
        Note, that `local_uri' may be updated in place.
        """
        if local_uri is None:
            local_uri = self.generate_local_uri()
        self.transport_event = coros.event()
        local_uri.host = gethostbyname(local_uri.host)
        factory = SpawnFactory(self.transport_event, MSRPTransport, local_uri, logger=self.logger, use_acm=self.use_acm)
        self.listening_port = self._listen(local_uri, factory)
        self.local_uri = local_uri
        return [local_uri]
Beispiel #13
0
def get_ip(hostname):
  """
  # Desc  : Function to send get IP address.
  # Input : hostname of each request
  # Output: Returns IP for each address
  """
  if hostname in ip_cache:
    return ip_cache[hostname]

  try:
    ip = socket.gethostbyname(hostname)
  except socket.herror as e:
    print e
    sys.exit(1)
  ip_cache[hostname] = ip
  return ip
Beispiel #14
0
 def create_topology_from_adjacency_matrix(self, data_directory):
     topo_file = data_directory + "/%s" % constants.ADJACENCY_FILE
     ez_topo = Ez_Topo()
     # topo = ez_topo.create_rocketfuel_topology(data_directory) #, self.current_controller_sw)
     self.log.info("read from {0}".format(data_directory))
     topo = ez_topo.create_latency_topology_from_adjacency_matrix(
         data_directory, -1)
     global_vars.switch_ids = topo.graph.nodes()
     self.sending_msgs_queue = {
         x: deque([])
         for x in global_vars.switch_ids
     }
     for sw_id in global_vars.switch_ids:
         c = socket.socket()
         host = socket.gethostbyname('127.0.0.1')
         c.connect((host, 6800 + sw_id))
         self.sockets[sw_id] = c
Beispiel #15
0
    def test_ftp(self):
        class MockFTPWrapper:
            def __init__(self, data):
                self.data = data

            def retrfile(self, filename, filetype):
                self.filename, self.filetype = filename, filetype
                return StringIO.StringIO(self.data), len(self.data)

        class NullFTPHandler(urllib2.FTPHandler):
            def __init__(self, data):
                self.data = data

            def connect_ftp(self, user, passwd, host, port, dirs):
                self.user, self.passwd = user, passwd
                self.host, self.port = host, port
                self.dirs = dirs
                self.ftpwrapper = MockFTPWrapper(self.data)
                return self.ftpwrapper

        import ftplib, socket
        data = "rheum rhaponicum"
        h = NullFTPHandler(data)
        o = h.parent = MockOpener()

        for url, host, port, type_, dirs, filename, mimetype in [
            ("ftp://localhost/foo/bar/baz.html", "localhost", ftplib.FTP_PORT,
             "I", ["foo", "bar"], "baz.html", "text/html"),
            ("ftp://localhost:80/foo/bar/", "localhost", 80, "D",
             ["foo", "bar"], "", None),
            ("ftp://localhost/baz.gif;type=a", "localhost", ftplib.FTP_PORT,
             "A", [], "baz.gif",
             None),  # XXX really this should guess image/gif
        ]:
            r = h.ftp_open(Request(url))
            # ftp authentication not yet implemented by FTPHandler
            self.assert_(h.user == h.passwd == "")
            self.assertEqual(h.host, socket.gethostbyname(host))
            self.assertEqual(h.port, port)
            self.assertEqual(h.dirs, dirs)
            self.assertEqual(h.ftpwrapper.filename, filename)
            self.assertEqual(h.ftpwrapper.filetype, type_)
            headers = r.info()
            self.assertEqual(headers.get("Content-type"), mimetype)
            self.assertEqual(int(headers["Content-length"]), len(data))
 def testHostnameRes(self):
     # Testing hostname resolution mechanisms
     hostname = socket.gethostname()
     try:
         ip = socket.gethostbyname(hostname)
     except socket.error:
         # Probably name lookup wasn't set up right; skip this test
         return
     self.assert_(ip.find('.') >= 0, "Error resolving host to ip.")
     try:
         hname, aliases, ipaddrs = socket.gethostbyaddr(ip)
     except socket.error:
         # Probably a similar problem as above; skip this test
         return
     all_host_names = [hostname, hname] + aliases
     fqhn = socket.getfqdn(ip)
     if not fqhn in all_host_names:
         self.fail("Error testing host resolution mechanisms. (fqdn: %s, all: %s)" % (fqhn, repr(all_host_names)))
    def test_ftp(self):
        class MockFTPWrapper:
            def __init__(self, data): self.data = data
            def retrfile(self, filename, filetype):
                self.filename, self.filetype = filename, filetype
                return StringIO.StringIO(self.data), len(self.data)

        class NullFTPHandler(urllib2.FTPHandler):
            def __init__(self, data): self.data = data
            def connect_ftp(self, user, passwd, host, port, dirs):
                self.user, self.passwd = user, passwd
                self.host, self.port = host, port
                self.dirs = dirs
                self.ftpwrapper = MockFTPWrapper(self.data)
                return self.ftpwrapper

        import ftplib, socket
        data = "rheum rhaponicum"
        h = NullFTPHandler(data)
        o = h.parent = MockOpener()

        for url, host, port, type_, dirs, filename, mimetype in [
            ("ftp://localhost/foo/bar/baz.html",
             "localhost", ftplib.FTP_PORT, "I",
             ["foo", "bar"], "baz.html", "text/html"),
            ("ftp://localhost:80/foo/bar/",
             "localhost", 80, "D",
             ["foo", "bar"], "", None),
            ("ftp://localhost/baz.gif;type=a",
             "localhost", ftplib.FTP_PORT, "A",
             [], "baz.gif", None),  # XXX really this should guess image/gif
            ]:
            r = h.ftp_open(Request(url))
            # ftp authentication not yet implemented by FTPHandler
            self.assert_(h.user == h.passwd == "")
            self.assertEqual(h.host, socket.gethostbyname(host))
            self.assertEqual(h.port, port)
            self.assertEqual(h.dirs, dirs)
            self.assertEqual(h.ftpwrapper.filename, filename)
            self.assertEqual(h.ftpwrapper.filetype, type_)
            headers = r.info()
            self.assertEqual(headers.get("Content-type"), mimetype)
            self.assertEqual(int(headers["Content-length"]), len(data))
Beispiel #18
0
 def testHostnameRes(self):
     # Testing hostname resolution mechanisms
     hostname = socket.gethostname()
     try:
         ip = socket.gethostbyname(hostname)
     except socket.error:
         # Probably name lookup wasn't set up right; skip this test
         return
     self.assert_(ip.find('.') >= 0, "Error resolving host to ip.")
     try:
         hname, aliases, ipaddrs = socket.gethostbyaddr(ip)
     except socket.error:
         # Probably a similar problem as above; skip this test
         return
     all_host_names = [hostname, hname] + aliases
     fqhn = socket.getfqdn(ip)
     if not fqhn in all_host_names:
         self.fail(
             "Error testing host resolution mechanisms. (fqdn: %s, all: %s)"
             % (fqhn, repr(all_host_names)))
Beispiel #19
0
 def _init_sgip_connection(self):
     self.__csock = socket.socket()
     ip = socket.gethostbyname(self._host)
     self.__csock.connect((ip, self._port))
     logger.info("%s connected" % self._host)
Beispiel #20
0
def thishost():
    """Return the IP address of the current host."""
    global _thishost
    if _thishost is None:
        _thishost = socket.gethostbyname(socket.gethostname())
    return _thishost
Beispiel #21
0
def localhost():
    """Return the IP address of the magic hostname 'localhost'."""
    global _localhost
    if _localhost is None:
        _localhost = socket.gethostbyname('localhost')
    return _localhost
    def test_file(self):
        import rfc822
        h = urllib2.FileHandler()
        o = h.parent = MockOpener()

        TESTFN = test_support.TESTFN
        urlpath = sanepathname2url(os.path.abspath(TESTFN))
        towrite = "hello, world\n"
        urls = [
            "file://localhost%s" % urlpath,
            "file://%s" % urlpath,
            "file://%s%s" % (socket.gethostbyname('localhost'), urlpath),
            ]
        try:
            localaddr = socket.gethostbyname(socket.gethostname())
        except socket.gaierror:
            localaddr = ''
        if localaddr:
            urls.append("file://%s%s" % (localaddr, urlpath))

        for url in urls:
            f = open(TESTFN, "wb")
            try:
                try:
                    f.write(towrite)
                finally:
                    f.close()

                r = h.file_open(Request(url))
                try:
                    data = r.read()
                    headers = r.info()
                    newurl = r.geturl()
                finally:
                    r.close()
                stats = os.stat(TESTFN)
                modified = rfc822.formatdate(stats.st_mtime)
            finally:
                os.remove(TESTFN)
            self.assertEqual(data, towrite)
            self.assertEqual(headers["Content-type"], "text/plain")
            self.assertEqual(headers["Content-length"], "13")
            self.assertEqual(headers["Last-modified"], modified)

        for url in [
            "file://localhost:80%s" % urlpath,
# XXXX bug: these fail with socket.gaierror, should be URLError
##             "file://%s:80%s/%s" % (socket.gethostbyname('localhost'),
##                                    os.getcwd(), TESTFN),
##             "file://somerandomhost.ontheinternet.com%s/%s" %
##             (os.getcwd(), TESTFN),
            ]:
            try:
                f = open(TESTFN, "wb")
                try:
                    f.write(towrite)
                finally:
                    f.close()

                self.assertRaises(urllib2.URLError,
                                  h.file_open, Request(url))
            finally:
                os.remove(TESTFN)

        h = urllib2.FileHandler()
        o = h.parent = MockOpener()
        # XXXX why does // mean ftp (and /// mean not ftp!), and where
        #  is file: scheme specified?  I think this is really a bug, and
        #  what was intended was to distinguish between URLs like:
        # file:/blah.txt (a file)
        # file://localhost/blah.txt (a file)
        # file:///blah.txt (a file)
        # file://ftp.example.com/blah.txt (an ftp URL)
        for url, ftp in [
            ("file://ftp.example.com//foo.txt", True),
            ("file://ftp.example.com///foo.txt", False),
# XXXX bug: fails with OSError, should be URLError
            ("file://ftp.example.com/foo.txt", False),
            ]:
            req = Request(url)
            try:
                h.file_open(req)
            # XXXX remove OSError when bug fixed
            except (urllib2.URLError, OSError):
                self.assert_(not ftp)
            else:
                self.assert_(o.req is req)
                self.assertEqual(req.type, "ftp")
Beispiel #23
0
    def test_file(self):
        import rfc822
        h = urllib2.FileHandler()
        o = h.parent = MockOpener()

        TESTFN = test_support.TESTFN
        urlpath = sanepathname2url(os.path.abspath(TESTFN))
        towrite = "hello, world\n"
        urls = [
            "file://localhost%s" % urlpath,
            "file://%s" % urlpath,
            "file://%s%s" % (socket.gethostbyname('localhost'), urlpath),
        ]
        try:
            localaddr = socket.gethostbyname(socket.gethostname())
        except socket.gaierror:
            localaddr = ''
        if localaddr:
            urls.append("file://%s%s" % (localaddr, urlpath))

        for url in urls:
            f = open(TESTFN, "wb")
            try:
                try:
                    f.write(towrite)
                finally:
                    f.close()

                r = h.file_open(Request(url))
                try:
                    data = r.read()
                    headers = r.info()
                    newurl = r.geturl()
                finally:
                    r.close()
                stats = os.stat(TESTFN)
                modified = rfc822.formatdate(stats.st_mtime)
            finally:
                os.remove(TESTFN)
            self.assertEqual(data, towrite)
            self.assertEqual(headers["Content-type"], "text/plain")
            self.assertEqual(headers["Content-length"], "13")
            self.assertEqual(headers["Last-modified"], modified)

        for url in [
                "file://localhost:80%s" % urlpath,
                # XXXX bug: these fail with socket.gaierror, should be URLError
                ##             "file://%s:80%s/%s" % (socket.gethostbyname('localhost'),
                ##                                    os.getcwd(), TESTFN),
                ##             "file://somerandomhost.ontheinternet.com%s/%s" %
                ##             (os.getcwd(), TESTFN),
        ]:
            try:
                f = open(TESTFN, "wb")
                try:
                    f.write(towrite)
                finally:
                    f.close()

                self.assertRaises(urllib2.URLError, h.file_open, Request(url))
            finally:
                os.remove(TESTFN)

        h = urllib2.FileHandler()
        o = h.parent = MockOpener()
        # XXXX why does // mean ftp (and /// mean not ftp!), and where
        #  is file: scheme specified?  I think this is really a bug, and
        #  what was intended was to distinguish between URLs like:
        # file:/blah.txt (a file)
        # file://localhost/blah.txt (a file)
        # file:///blah.txt (a file)
        # file://ftp.example.com/blah.txt (an ftp URL)
        for url, ftp in [
            ("file://ftp.example.com//foo.txt", True),
            ("file://ftp.example.com///foo.txt", False),
                # XXXX bug: fails with OSError, should be URLError
            ("file://ftp.example.com/foo.txt", False),
        ]:
            req = Request(url)
            try:
                h.file_open(req)
            # XXXX remove OSError when bug fixed
            except (urllib2.URLError, OSError):
                self.assert_(not ftp)
            else:
                self.assert_(o.req is req)
                self.assertEqual(req.type, "ftp")
Beispiel #24
0
def work(url):
    return socket.gethostbyname(url)
Beispiel #25
0
 def _init_sgip_connection(self):
     self.__csock = socket.socket()
     ip = socket.gethostbyname(self._host)
     self.__csock.connect((ip, self._port))
     logger.info('%s connected' % self._host)
Beispiel #26
0
 def open_ftp(self, url):
     """Use FTP protocol."""
     if not isinstance(url, str):
         raise IOError, ('ftp error', 'proxy support for ftp protocol currently not implemented')
     import mimetypes, mimetools
     try:
         from cStringIO import StringIO
     except ImportError:
         from StringIO import StringIO
     host, path = splithost(url)
     if not host: raise IOError, ('ftp error', 'no host given')
     host, port = splitport(host)
     user, host = splituser(host)
     if user: user, passwd = splitpasswd(user)
     else: passwd = None
     host = unquote(host)
     user = unquote(user or '')
     passwd = unquote(passwd or '')
     host = socket.gethostbyname(host)
     if not port:
         from eventlet.green import ftplib
         port = ftplib.FTP_PORT
     else:
         port = int(port)
     path, attrs = splitattr(path)
     path = unquote(path)
     dirs = path.split('/')
     dirs, file = dirs[:-1], dirs[-1]
     if dirs and not dirs[0]: dirs = dirs[1:]
     if dirs and not dirs[0]: dirs[0] = '/'
     key = user, host, port, '/'.join(dirs)
     # XXX thread unsafe!
     if len(self.ftpcache) > MAXFTPCACHE:
         # Prune the cache, rather arbitrarily
         for k in self.ftpcache.keys():
             if k != key:
                 v = self.ftpcache[k]
                 del self.ftpcache[k]
                 v.close()
     try:
         if not key in self.ftpcache:
             self.ftpcache[key] = \
                 ftpwrapper(user, passwd, host, port, dirs)
         if not file: type = 'D'
         else: type = 'I'
         for attr in attrs:
             attr, value = splitvalue(attr)
             if attr.lower() == 'type' and \
                value in ('a', 'A', 'i', 'I', 'd', 'D'):
                 type = value.upper()
         (fp, retrlen) = self.ftpcache[key].retrfile(file, type)
         mtype = mimetypes.guess_type("ftp:" + url)[0]
         headers = ""
         if mtype:
             headers += "Content-Type: %s\n" % mtype
         if retrlen is not None and retrlen >= 0:
             headers += "Content-Length: %d\n" % retrlen
         headers = mimetools.Message(StringIO(headers))
         return addinfourl(fp, headers, "ftp:" + url)
     except ftperrors(), msg:
         raise IOError, ('ftp error', msg), sys.exc_info()[2]
Beispiel #27
0
def work(url):
    return socket.gethostbyname(url)
Beispiel #28
0
 def init_socks(self):
     for local_id in self.locals:
         c = socket.socket()
         host = socket.gethostbyname('127.0.0.1')
         c.connect((host,6000 + local_id))
         self.sockets[local_id] = c