當前位置: 首頁>>代碼示例>>Python>>正文


Python BaseHTTPServer.BaseHTTPRequestHandler方法代碼示例

本文整理匯總了Python中BaseHTTPServer.BaseHTTPRequestHandler方法的典型用法代碼示例。如果您正苦於以下問題:Python BaseHTTPServer.BaseHTTPRequestHandler方法的具體用法?Python BaseHTTPServer.BaseHTTPRequestHandler怎麽用?Python BaseHTTPServer.BaseHTTPRequestHandler使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在BaseHTTPServer的用法示例。


在下文中一共展示了BaseHTTPServer.BaseHTTPRequestHandler方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: __init__

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def __init__(self,
               request,
               client_address,
               connection_handler=httplib.HTTPConnection):
    """Constructor extending BaseHTTPRequestHandler.

    Args:
      request: The incoming request.
      client_address: A (ip, port) tuple with the address of the client.
      backend: The HTTPServer that received the request.
      connection_handler: http library to use when balancer the connection to
        the next available backend instance. Used for dependency injection.
    """
    self.connection_handler = connection_handler
    BaseHTTPServer.BaseHTTPRequestHandler.__init__(self,
                                                   request,
                                                   client_address,
                                                   HttpServer()) 
開發者ID:elsigh,項目名稱:browserscope,代碼行數:20,代碼來源:dev_appserver_multiprocess.py

示例2: handle_get

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def handle_get(self):
        """Handle a single HTTP GET request.

        Default implementation indicates an error because
        XML-RPC uses the POST method.
        """

        code = 400
        message, explain = \
                 BaseHTTPServer.BaseHTTPRequestHandler.responses[code]

        response = BaseHTTPServer.DEFAULT_ERROR_MESSAGE % \
            {
             'code' : code,
             'message' : message,
             'explain' : explain
            }
        print 'Status: %d %s' % (code, message)
        print 'Content-Type: %s' % BaseHTTPServer.DEFAULT_ERROR_CONTENT_TYPE
        print 'Content-Length: %d' % len(response)
        print
        sys.stdout.write(response) 
開發者ID:glmcdona,項目名稱:meddle,代碼行數:24,代碼來源:SimpleXMLRPCServer.py

示例3: __init__

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def __init__(self):
        super(HttpServerThread, self).__init__()
        self.done = False
        self.hostname = 'localhost'

        class MockStardog(BaseHTTPRequestHandler):
            def do_GET(self):
                if self.path != '/admin/status':
                    self.send_response(404)
                    return
                self.send_response(200)
                self.send_header('Content-type', 'application/json')
                self.end_headers()
                # json.dumps always outputs a str, wfile.write requires bytes
                self.wfile.write(ensure_bytes(json.dumps(DATA)))

        self.http = HTTPServer((self.hostname, 0), MockStardog)
        self.port = self.http.server_port 
開發者ID:DataDog,項目名稱:integrations-extras,代碼行數:20,代碼來源:test_stardog.py

示例4: handle_get

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def handle_get(self):
        """Handle a single HTTP GET request.

        Default implementation indicates an error because
        XML-RPC uses the POST method.
        """

        code = 400
        message, explain = \
                 BaseHTTPServer.BaseHTTPRequestHandler.responses[code]

        response = BaseHTTPServer.DEFAULT_ERROR_MESSAGE % \
            {
             'code' : code,
             'message' : message,
             'explain' : explain
            }
        print 'Status: %d %s' % (code, message)
        print 'Content-Type: text/html'
        print 'Content-Length: %d' % len(response)
        print
        sys.stdout.write(response) 
開發者ID:ofermend,項目名稱:medicare-demo,代碼行數:24,代碼來源:SimpleXMLRPCServer.py

示例5: start_server

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def start_server():
    server_address = ('127.0.0.1', 0)

    class DaemonThreadingMixIn(ThreadingMixIn):
        daemon_threads = True

    class ThreadedHTTPServer(DaemonThreadingMixIn, HTTPServer):
        """Handle requests in a separate thread."""

    # not actually going to do anything with this server, so a
    # do-nothing handler is reasonable
    httpd = ThreadedHTTPServer(server_address, BaseHTTPRequestHandler)
    server_thread = threading.Thread(target=httpd.serve_forever)
    server_thread.daemon = True
    server_thread.start()
    return httpd, server_thread 
開發者ID:Acmesec,項目名稱:CTFCrackTools-V2,代碼行數:18,代碼來源:test_socket_jy.py

示例6: setup

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def setup(self):
        if isinstance(self.__class__.first_run, collections.Callable):
            try:
                with self.__class__.first_run_lock:
                    if isinstance(self.__class__.first_run, collections.Callable):
                        self.first_run()
                        self.__class__.first_run = None
            except StandardError as e:
                logging.exception('%s.first_run() return %r', self.__class__, e)
        self.__class__.setup = BaseHTTPServer.BaseHTTPRequestHandler.setup
        self.__class__.do_CONNECT = self.__class__.do_METHOD
        self.__class__.do_GET = self.__class__.do_METHOD
        self.__class__.do_PUT = self.__class__.do_METHOD
        self.__class__.do_POST = self.__class__.do_METHOD
        self.__class__.do_HEAD = self.__class__.do_METHOD
        self.__class__.do_DELETE = self.__class__.do_METHOD
        self.__class__.do_OPTIONS = self.__class__.do_METHOD
        self.__class__.do_PATCH = self.__class__.do_METHOD
        self.setup() 
開發者ID:projectarkc,項目名稱:arkc-client,代碼行數:21,代碼來源:proxylib.py

示例7: handle_one_request

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def handle_one_request(self):
        if not self.disable_transport_ssl and self.scheme == 'http':
            leadbyte = self.connection.recv(1, socket.MSG_PEEK)
            if leadbyte in ('\x80', '\x16'):
                server_name = ''
                if leadbyte == '\x16':
                    for _ in xrange(2):
                        leaddata = self.connection.recv(1024, socket.MSG_PEEK)
                        if is_clienthello(leaddata):
                            try:
                                server_name = extract_sni_name(leaddata)
                            finally:
                                break
                try:
                    certfile = CertUtil.get_cert(server_name or 'www.google.com')
                    ssl_sock = ssl.wrap_socket(self.connection, ssl_version=self.ssl_version, keyfile=certfile, certfile=certfile, server_side=True)
                except StandardError as e:
                    if e.args[0] not in (errno.ECONNABORTED, errno.ECONNRESET):
                        logging.exception('ssl.wrap_socket(self.connection=%r) failed: %s', self.connection, e)
                    return
                self.connection = ssl_sock
                self.rfile = self.connection.makefile('rb', self.bufsize)
                self.wfile = self.connection.makefile('wb', 0)
                self.scheme = 'https'
        return BaseHTTPServer.BaseHTTPRequestHandler.handle_one_request(self) 
開發者ID:projectarkc,項目名稱:arkc-client,代碼行數:27,代碼來源:proxylib.py

示例8: handle

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def handle(self):

        ''' To quiet socket errors with 404.
        '''
        try:
            BaseHTTPServer.BaseHTTPRequestHandler.handle(self)
        except Exception as error:
            pass 
開發者ID:MediaBrowser,項目名稱:plugin.video.emby,代碼行數:10,代碼來源:webservice.py

示例9: __init__

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def __init__(self, *args):
        try:
            BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args)
        except IOError:
            pass 
開發者ID:masmu,項目名稱:pulseaudio-dlna,代碼行數:7,代碼來源:streamserver.py

示例10: log_request

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def log_request(self, code='-', size='-'):
      """Indicate that this request has completed."""
      BaseHTTPServer.BaseHTTPRequestHandler.log_request(self, code, size)
      if code == '-':
        code = 0
      if size == '-':
        size = 0


      logservice.logs_buffer().flush()
      self._log_record_writer.end_request(None, code, size) 
開發者ID:elsigh,項目名稱:browserscope,代碼行數:13,代碼來源:dev_appserver.py

示例11: handle_one_request

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def handle_one_request(self):
    """Override. Invoked from BaseHTTPRequestHandler constructor."""
    self.raw_requestline = self.rfile.readline()
    if not self.raw_requestline:
      self.close_connection = 1
      return
    if not self.parse_request():
      return

    process = GlobalProcess()
    balance_set = process.GetBalanceSet()
    request_size = int(self.headers.get('content-length', 0))
    payload = self.rfile.read(request_size)




    for port in balance_set:
      logging.debug('balancer to port %d',  port)
      connection = self.connection_handler(process.host, port=port)


      connection.response_class = ForwardResponse
      connection.request(self.command, self.path, payload, dict(self.headers))
      try:
        response = connection.getresponse()
      except httplib.HTTPException, e:


        self.send_error(httplib.INTERNAL_SERVER_ERROR, str(e))
        return

      if response.status != httplib.SERVICE_UNAVAILABLE:
        self.wfile.write(response.data)
        return 
開發者ID:elsigh,項目名稱:browserscope,代碼行數:37,代碼來源:dev_appserver_multiprocess.py

示例12: log_request

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def log_request(self, code='-', size='-'):
        """Selectively log an accepted request."""

        if self.server.logRequests:
            BaseHTTPServer.BaseHTTPRequestHandler.log_request(self, code, size) 
開發者ID:glmcdona,項目名稱:meddle,代碼行數:7,代碼來源:SimpleXMLRPCServer.py

示例13: serve

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def serve(port, callback=None, completer=None):
    import BaseHTTPServer, mimetools, select

    # Patch up mimetools.Message so it doesn't break if rfc822 is reloaded.
    class Message(mimetools.Message):
        def __init__(self, fp, seekable=1):
            Message = self.__class__
            Message.__bases__[0].__bases__[0].__init__(self, fp, seekable)
            self.encodingheader = self.getheader('content-transfer-encoding')
            self.typeheader = self.getheader('content-type')
            self.parsetype()
            self.parseplist()

    class DocHandler(BaseHTTPServer.BaseHTTPRequestHandler):
        def send_document(self, title, contents):
            try:
                self.send_response(200)
                self.send_header('Content-Type', 'text/html')
                self.end_headers()
                self.wfile.write(html.page(title, contents))
            except IOError: pass

        def do_GET(self):
            path = self.path
            if path[-5:] == '.html': path = path[:-5]
            if path[:1] == '/': path = path[1:]
            if path and path != '.':
                try:
                    obj = locate(path, forceload=1)
                except ErrorDuringImport, value:
                    self.send_document(path, html.escape(str(value)))
                    return
                if obj:
                    self.send_document(describe(obj), html.document(obj, path))
                else:
                    self.send_document(path,
'no Python documentation found for %s' % repr(path))
            else: 
開發者ID:glmcdona,項目名稱:meddle,代碼行數:40,代碼來源:pydoc.py

示例14: request_handler

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def request_handler(addr):
    class RequestHandler(BaseHTTPRequestHandler):
        def do_GET(self):
            if self.path == '/provider.json':
                body = provider_json % {
                    'api_uri': addr.api_uri,
                    'host': addr.host,
                    'port': addr.port,
                    'fingerprint': addr.fingerprint
                }

            elif self.path == '/ca.crt':
                cacert = os.path.join(os.path.dirname(__file__),
                                      "leaptestscert.pem")
                with open(cacert, 'r') as f:
                    castr = f.read()
                body = castr

            elif self.path == '/1/configs.json':
                body = configs_json

            else:
                body = '{"error": "not implemented"}'

            self.send_response(200)
            self.send_header('Content-type', 'applicatino/json')
            self.send_header('Content-Length', str(len(body)))
            self.end_headers()
            self.wfile.write(body)

    return RequestHandler 
開發者ID:leapcode,項目名稱:bitmask-dev,代碼行數:33,代碼來源:test_config.py

示例15: __init__

# 需要導入模塊: import BaseHTTPServer [as 別名]
# 或者: from BaseHTTPServer import BaseHTTPRequestHandler [as 別名]
def __init__(self, *args, **kwargs):
        BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kwargs) 
開發者ID:IronLanguages,項目名稱:ironpython2,代碼行數:4,代碼來源:test_urllib2_localnet.py


注:本文中的BaseHTTPServer.BaseHTTPRequestHandler方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。