zoukankan      html  css  js  c++  java
  • python 教程 第十七章、 网络编程

    第十七章、 网络编程
    1)    FTP客户端

    import ftplib
    
    import os
    
    import socket 
    
    
    
    HOST = '127.0.0.1'
    
    DIRN = 'menus'
    
    FILE = 'hello.txt'
    
    USER = 'taojin'
    
    PASS = 'pass123' 
    
    
    
    def main():
    
        try:
    
            f = ftplib.FTP(HOST)
    
            f.login(user = USER, passwd = PASS)
    
            f.cwd(DIRN)
    
            f.retrbinary('RETR %s' % FILE, open(FILE, 'wb').write)
    
        except e:
    
            print 'ERROR' + e
    
        finally:
    
            f.quit()
    
            return 
    
    
    
    if __name__ == '__main__':
    
        main() 

    2)    Telnet客户端

    import sys
    
    import telnetlib 
    
    
    
    HOST = "172.22.11.229"
    
    USER = "bbndserviceaccount"
    
    PASS = "admin" 
    
    
    
    tn = telnetlib.Telnet(HOST)
    
    tn.read_until("login:")
    
    tn.write(USER + "
    ")
    
    tn.read_until("Password:")
    
    tn.write(PASS + "
    ")
    
    tn.write("ls -a
    ")
    
    tn.write("exit
    ")
    
    print tn.read_all()
    
    tn.close() 

    3)    SSH客户端
    环境设置
    1).安装MinGW编译环境(mingw-get-inst-20110530.exe)
    下载http://sourceforge.net/projects/mingw/
    2).安装PyCrypto库(The Python Cryptography Toolkit)
    下载https://www.dlitz.net/software/pycrypto/
    解压放到python安装目录下的lib目录里
    用MinGW编译pycrypto

    D:Python27Libpycrypto-2.3>python setup.py build --compiler=mingw32
    
    D:Python27Libpycrypto-2.3>python setup.py install

    3).安装paramiko (SSH2 protocol for python)
    下载http://www.lag.net/paramiko/
    解压放到python安装目录下的lib目录里

    D:Python27Libpycrypto-2.3>cd ..paramiko-1.7.7.1
    
    D:Python27Libparamiko-1.7.7.1>python setup.py install
    import paramiko 
    
    
    
    ssh2 = paramiko.SSHClient()
    
    ssh2.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    
    ssh2.connect('172.22.11.229', 22, username='bbndserviceaccount', password='admin')
    
    stdin, stdout, stderr = ssh2.exec_command('pwd')
    
    for std in stdout.readlines():
    
        print std
    
    ssh2.close()

    4) 电子邮件

    POP编程

    >>> from poplib import POP3
    
    
    
    >>> p = POP3('pop.139.com')
    
    
    
    >>> p.user('username')
    
    
    
    '+OK core mail'
    
    
    
    >>> p.pass_('password')
    
    
    
    '+OK 3 message(s) [6115 byte(s)]'
    
    
    
    >>> p.stat()
    
    
    
    (3, 6115)
    
    
    
    >>> rep, msg, siz = p.retr(3)
    
    
    
    >>> rep, siz
    
    
    
    ('+OK 2571 octets', 2571)
    
    
    
    >>> for eachLine in msg:
    
    
    
    print eachLine
    

    SMTP编程

    >>> from smtplib import SMTP as smtp
    
    >>> s = smtp('smtp.139.com')
    
    >>> s.login('username', 'yourpass')
    
    (235, 'Authentication successful')
    
    >>> s.sendmail(username@139.com', ' username@qq.com', '''From: username@139.com
    To: username @qq.com
    Subject: python mail title
    
    This is python mail content.
    ''')
    
    {}
    
    >>>
    
  • 相关阅读:
    BZOJ2330 SCOI2011糖果
    BZOJ 3812主旋律
    模板更新 扩展卢卡斯
    BZOJ4556 HEOI2016字符串
    CodeForces700E Cool Slogans
    Atcoder Contest069F:Flag
    计算几何模板(更新中......)
    BZOJ4003 JLOI2015城池攻占
    BZOJ3772精神污染
    HDU5919 SequenceⅡ
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468805.html
Copyright © 2011-2022 走看看