python类HTTPException()的实例源码

request.py 文件源码 项目:webdirfuzz 作者: Fenguopeng 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def _analysis_404(self):
        """
        ??404?????????URL????
        """
        try:
            conn1 = httplib.HTTPConnection(self.site_parse[1], timeout=self.timeout)
            conn1.request('GET', self.site_parse[2]+'/../g0ogle/go0g1e/l.php', headers=self.headers)
            response = conn1.getresponse()
            self.not_found_page_length = response.getheader('Content-Length')
        except (httplib.HTTPException, socket.timeout, socket.gaierror, Exception), e:
            logger.error('url %s is unreachable, Exception %s %s' % (self.site, e.__class__.__name__, e))
            print 'url %s is unreachable, Exception %s %s' % (self.site, e.__class__.__name__, e)
            sys.exit(1)
utilities.py 文件源码 项目:X-Ray_Calibre_Plugin 作者: szarroug3 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def open_url(connection, url, return_redirect_url=False):
    '''Tries to open url and return page's html'''
    if 'goodreads.com' in url:
        url = url[url.find('goodreads.com') + len('goodreads.com'):]
    try:
        connection.request('GET', url, headers=HEADERS)
        response = connection.getresponse()
        if response.status == 301 or response.status == 302:
            if return_redirect_url:
                return response.msg['location']
            response = open_url(connection, response.msg['location'])
        else:
            response = response.read()
    except (HTTPException, socket.error):
        time.sleep(1)
        connection.close()
        connection.connect()
        connection.request('GET', url, headers=HEADERS)
        response = connection.getresponse()
        if response.status == 301 or response.status == 302:
            if return_redirect_url:
                return response.msg['location']
            response = open_url(connection, response.msg['location'])
        else:
            response = response.read()


    if 'Page Not Found' in response:
        raise PageDoesNotExist('Page not found.')

    return response
lighttpd_server.py 文件源码 项目:chromium-build 作者: discordapp 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def _TestServerConnection(self):
    # Wait for server to start
    server_msg = ''
    for timeout in xrange(1, 5):
      client_error = None
      try:
        with contextlib.closing(httplib.HTTPConnection(
            '127.0.0.1', self.port, timeout=timeout)) as http:
          http.set_debuglevel(timeout > 3)
          http.request('HEAD', '/')
          r = http.getresponse()
          r.read()
          if (r.status == 200 and r.reason == 'OK' and
              r.getheader('Server') == self.server_tag):
            return (None, server_msg)
          client_error = ('Bad response: %s %s version %s\n  ' %
                          (r.status, r.reason, r.version) +
                          '\n  '.join([': '.join(h) for h in r.getheaders()]))
      except (httplib.HTTPException, socket.error) as client_error:
        pass  # Probably too quick connecting: try again
      # Check for server startup error messages
      ix = self.process.expect([pexpect.TIMEOUT, pexpect.EOF, '.+'],
                               timeout=timeout)
      if ix == 2:  # stdout spew from the server
        server_msg += self.process.match.group(0) # pylint: disable=no-member
      elif ix == 1:  # EOF -- server has quit so giveup.
        client_error = client_error or 'Server exited'
        break
    return (client_error or 'Timeout', server_msg)
lighttpd_server.py 文件源码 项目:gn_build 作者: realcome 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def _TestServerConnection(self):
    # Wait for server to start
    server_msg = ''
    for timeout in xrange(1, 5):
      client_error = None
      try:
        with contextlib.closing(httplib.HTTPConnection(
            '127.0.0.1', self.port, timeout=timeout)) as http:
          http.set_debuglevel(timeout > 3)
          http.request('HEAD', '/')
          r = http.getresponse()
          r.read()
          if (r.status == 200 and r.reason == 'OK' and
              r.getheader('Server') == self.server_tag):
            return (None, server_msg)
          client_error = ('Bad response: %s %s version %s\n  ' %
                          (r.status, r.reason, r.version) +
                          '\n  '.join([': '.join(h) for h in r.getheaders()]))
      except (httplib.HTTPException, socket.error) as client_error:
        pass  # Probably too quick connecting: try again
      # Check for server startup error messages
      ix = self.process.expect([pexpect.TIMEOUT, pexpect.EOF, '.+'],
                               timeout=timeout)
      if ix == 2:  # stdout spew from the server
        server_msg += self.process.match.group(0) # pylint: disable=no-member
      elif ix == 1:  # EOF -- server has quit so giveup.
        client_error = client_error or 'Server exited'
        break
    return (client_error or 'Timeout', server_msg)
test_multibytecodec_support.py 文件源码 项目:oil 作者: oilshell 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def __init__(self, *args, **kw):
        unittest.TestCase.__init__(self, *args, **kw)
        try:
            self.open_mapping_file().close() # test it to report the error early
        except (IOError, HTTPException):
            self.skipTest("Could not retrieve "+self.mapfileurl)
test_httplib.py 文件源码 项目:oil 作者: oilshell 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def test_too_many_headers(self):
        headers = '\r\n'.join('Header%d: foo' % i for i in xrange(200)) + '\r\n'
        text = ('HTTP/1.1 200 OK\r\n' + headers)
        s = FakeSocket(text)
        r = httplib.HTTPResponse(s)
        self.assertRaises(httplib.HTTPException, r.begin)
dAbot.py 文件源码 项目:dAbot 作者: KishanBagaria 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def retry_if_network_error(exception):
    pick_da_useragent()
    do_retry = isinstance(exception, (requests.exceptions.RequestException, httplib.HTTPException, socket.error))
    if do_retry:
        echo(Fore.YELLOW + 'Retrying... ' + repr(exception))
    return do_retry
test_multibytecodec_support.py 文件源码 项目:python2-tracer 作者: extremecoders-re 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def __init__(self, *args, **kw):
        unittest.TestCase.__init__(self, *args, **kw)
        try:
            self.open_mapping_file().close() # test it to report the error early
        except (IOError, HTTPException):
            self.skipTest("Could not retrieve "+self.mapfileurl)
test_httplib.py 文件源码 项目:python2-tracer 作者: extremecoders-re 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def test_too_many_headers(self):
        headers = '\r\n'.join('Header%d: foo' % i for i in xrange(200)) + '\r\n'
        text = ('HTTP/1.1 200 OK\r\n' + headers)
        s = FakeSocket(text)
        r = httplib.HTTPResponse(s)
        self.assertRaises(httplib.HTTPException, r.begin)
keepalive.py 文件源码 项目:autoinjection 作者: ChengWiLL 项目源码 文件源码 阅读 33 收藏 0 点赞 0 评论 0
def _start_transaction(self, h, req):
        try:
            if req.has_data():
                data = req.data
                if hasattr(req, 'selector'):
                    h.putrequest(req.get_method() or 'POST', req.selector, skip_host=req.has_header("Host"), skip_accept_encoding=req.has_header("Accept-encoding"))
                else:
                    h.putrequest(req.get_method() or 'POST', req.get_selector(), skip_host=req.has_header("Host"), skip_accept_encoding=req.has_header("Accept-encoding"))
                if not req.headers.has_key('Content-type'):
                    h.putheader('Content-type',
                                'application/x-www-form-urlencoded')
                if not req.headers.has_key('Content-length'):
                    h.putheader('Content-length', '%d' % len(data))
            else:
                if hasattr(req, 'selector'):
                    h.putrequest(req.get_method() or 'GET', req.selector, skip_host=req.has_header("Host"), skip_accept_encoding=req.has_header("Accept-encoding"))
                else:
                    h.putrequest(req.get_method() or 'GET', req.get_selector(), skip_host=req.has_header("Host"), skip_accept_encoding=req.has_header("Accept-encoding"))
        except (socket.error, httplib.HTTPException), err:
            raise urllib2.URLError(err)

        if not req.headers.has_key('Connection'):
            req.headers['Connection'] = 'keep-alive'

        for args in self.parent.addheaders:
            if not req.headers.has_key(args[0]):
                h.putheader(*args)
        for k, v in req.headers.items():
            h.putheader(k, v)
        h.endheaders()
        if req.has_data():
            h.send(data)
ACTableau.py 文件源码 项目:AnalyticContainer 作者: DataKitchen 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def selenium_login(self):
        try:
            self.pydriver.get(self.config_dict[TABLEAU_SERVER_URL])
            time.sleep(2)
            self.pydriver.page_source.encode('utf-8')
            logins = self.pydriver.find_elements(By.XPATH, '//input')
            if logins is None or len(logins) == 0:
                ACLogger().get_logger().error('selenium_login error 1')
                return False

            the_login = logins[0]
            password = logins[1]
            the_login.send_keys(self.config_dict[TABLEAU_SERVER_USERNAME])
            password.send_keys(self.config_dict[TABLEAU_SERVER_PASSWORD])
            buttons = self.pydriver.find_elements(By.XPATH, '//button')
            button = None
            for b in buttons:
                if str(b.text) == 'Sign In':
                    button = b
            if button is None:
                ACLogger().get_logger().error('selenium_login error 2')
                return False
            button.click()
            time.sleep(2)
            if 'Workbooks' not in self.pydriver.title:
                ACLogger().get_logger().error('selenium_login error 3')
                return False
        except (WebDriverException, StaleElementReferenceException, HTTPException, ResponseNotReady) , e:
            ACLogger().get_logger().error('selenium_login error: %s' % str(e))
            return False
        ACLogger().get_logger().info(
            'Logged in %s successfully, next page title: %s' % (self.config_dict[TABLEAU_SERVER_URL], self.pydriver.title))
        return True
client.py 文件源码 项目:python-phoenixdb 作者: lalinsky 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def connect(self):
        """Opens a HTTP connection to the RPC server."""
        logger.debug("Opening connection to %s:%s", self.url.hostname, self.url.port)
        try:
            self.connection = httplib.HTTPConnection(self.url.hostname, self.url.port)
            self.connection.connect()
        except (httplib.HTTPException, socket.error) as e:
            raise errors.InterfaceError('Unable to connect to the specified service', e)
client.py 文件源码 项目:python-phoenixdb 作者: lalinsky 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def close(self):
        """Closes the HTTP connection to the RPC server."""
        if self.connection is not None:
            logger.debug("Closing connection to %s:%s", self.url.hostname, self.url.port)
            try:
                self.connection.close()
            except httplib.HTTPException:
                logger.warning("Error while closing connection", exc_info=True)
            self.connection = None
client.py 文件源码 项目:python-phoenixdb 作者: lalinsky 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def _post_request(self, body, headers):
        retry_count = self.max_retries
        while True:
            logger.debug("POST %s %r %r", self.url.path, body, headers)
            try:
                self.connection.request('POST', self.url.path, body=body, headers=headers)
                response = self.connection.getresponse()
            except httplib.HTTPException as e:
                if retry_count > 0:
                    delay = math.exp(-retry_count)
                    logger.debug("HTTP protocol error, will retry in %s seconds...", delay, exc_info=True)
                    self.close()
                    self.connect()
                    time.sleep(delay)
                    retry_count -= 1
                    continue
                raise errors.InterfaceError('RPC request failed', cause=e)
            else:
                if response.status == httplib.SERVICE_UNAVAILABLE:
                    if retry_count > 0:
                        delay = math.exp(-retry_count)
                        logger.debug("Service unavailable, will retry in %s seconds...", delay, exc_info=True)
                        time.sleep(delay)
                        retry_count -= 1
                        continue
                return response
test_challenges.py 文件源码 项目:roots.code.lengstorf.com 作者: jlengstorf 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def get_status(host, path, file):
    try:
        conn = HTTPConnection(host)
        conn.request('HEAD', '/{0}/{1}'.format(path, file))
        res = conn.getresponse()
    except (HTTPException, socket.timeout, socket.error):
        return 0
    else:
        return res.status
__init__.py 文件源码 项目:xxNet 作者: drzorm 项目源码 文件源码 阅读 16 收藏 0 点赞 0 评论 0
def getresponse(self):
      if self.response:
        return self.response
      else:
        raise httplib.HTTPException()
cas_server_error.py 文件源码 项目:cas_python_sdk 作者: tencentyun 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def __init__(self, response):
        raw_headers = response.getheaders()
        headers = dict()
        for k, v in raw_headers:
            headers[k.lower()] = v

        self.request_id = headers.get('x-cas-requestid')
        self.status = response.status
        sys.stdout.write('====== debug: error: receive status: %s\n' % response.status)
        sys.stdout.write('====== debug: error: receive headers: %s\n' % headers)

        content = ''
        try:
            content = response.read()
            body = json.loads(content)
            sys.stdout.write('====== debug: error: receive body: %s\n' % body)
            self.code = body.get('code')
            self.type = body.get('type')
            self.message = body.get('message')
            msg = 'Expected 2xx, got '
            msg += '(%d, code=%s, message=%s, type=%s, request_id=%s)' % \
                   (self.status, self.code,
                    self.message, self.type, self.request_id)
        except (HTTPException, ValueError):
            msg = 'Expected 2xx, got (%d, content=%s, request_id=%s)' % \
                  (self.status, content, self.request_id)

        super(CASServerError, self).__init__(msg)
test_multibytecodec_support.py 文件源码 项目:pefile.pypy 作者: cloudtracer 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def __init__(self, *args, **kw):
        unittest.TestCase.__init__(self, *args, **kw)
        try:
            self.open_mapping_file().close() # test it to report the error early
        except (IOError, HTTPException):
            self.skipTest("Could not retrieve "+self.mapfileurl)
test_httplib.py 文件源码 项目:pefile.pypy 作者: cloudtracer 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def test_too_many_headers(self):
        headers = '\r\n'.join('Header%d: foo' % i for i in xrange(200)) + '\r\n'
        text = ('HTTP/1.1 200 OK\r\n' + headers)
        s = FakeSocket(text)
        r = httplib.HTTPResponse(s)
        self.assertRaises(httplib.HTTPException, r.begin)
test_multibytecodec_support.py 文件源码 项目:ndk-python 作者: gittor 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def __init__(self, *args, **kw):
        unittest.TestCase.__init__(self, *args, **kw)
        try:
            self.open_mapping_file().close() # test it to report the error early
        except (IOError, HTTPException):
            self.skipTest("Could not retrieve "+self.mapfileurl)


问题


面经


文章

微信
公众号

扫码关注公众号