Python中asyncore的用法執行個體

來源:互聯網
上載者:User
本文執行個體講述了python中asyncore模組的用法,分享給大家供大家參考。具體方法如下:

執行個體代碼如下:

##asyncore  import asyncore,socket  ######################################################################## class AsyncGet(asyncore.dispatcher):   """   the defined class   """    #----------------------------------------------------------------------   def __init__(self, host):     """Constructor"""     asyncore.dispatcher.__init__(self)     self.host = host     self.create_socket(socket.AF_INET, socket.SOCK_STREAM)     self.connect((host, 80))     self.request = "Get /index.html HTTP/1.0\r\n\r\n"     self.outf = None     print "串連 :", host        def handle_connect(self):     print 'connect:', self.host     pass   def handle_read(self):     if not self.outf:       print '正在串連:',self.host     self.outf = open("%s.txt" % self.host, 'wb')     data = self.recv(8192)     if data:       self.outf.write(data)          pass   def handle_writebale(self):     return len(self.request)             def handle_write(self):     num_sent = self.send(self.request)     pass      def handle_close(self):     asyncore.dispatcher.close(self)     print "socket close in:",self.host     if self.outf:       self.outf.close()     pass    if __name__ == "__main__":   AsyncGet("www.python.org")   asyncore.loop()  import asyncore,socket  ######################################################################## class AsyncGet(asyncore.dispatcher):   """   the defined class   """    #----------------------------------------------------------------------   def __init__(self, host):     """Constructor"""     asyncore.dispatcher.__init__(self)     self.host = host     self.create_socket(socket.AF_INET, socket.SOCK_STREAM)     self.connect((host, 80))     self.request = "Get /index.html HTTP/1.0\r\n\r\n"     self.outf = None     print "串連 :", host        def handle_connect(self):     print 'connect:', self.host     pass   def handle_read(self):     if not self.outf:       print '正在串連:',self.host     self.outf = open("%s.txt" % self.host, 'wb')     data = self.recv(8192)     if data:       self.outf.write(data)          pass   def handle_writebale(self):     return len(self.request)             def handle_write(self):     num_sent = self.send(self.request)     pass      def handle_close(self):     asyncore.dispatcher.close(self)     print "socket close in:",self.host     if self.outf:       self.outf.close()     pass    if __name__ == "__main__":   AsyncGet("www.python.org")   asyncore.loop()    

結果檔案的內容為:

302 Found

Found

The document has moved here.

Apache/2.2.16 (Debian) Server at dinsdale.python.org Port 80

希望本文所述對大家的Python程式設計有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.