• 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 + "\n")
    
    tn.read_until("Password:")
    
    tn.write(PASS + "\n")
    
    tn.write("ls -a\n")
    
    tn.write("exit\n")
    
    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:\Python27\Lib\pycrypto-2.3>python setup.py build --compiler=mingw32
    
    D:\Python27\Lib\pycrypto-2.3>python setup.py install

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

    D:\Python27\Lib\pycrypto-2.3>cd ..\paramiko-1.7.7.1
    
    D:\Python27\Lib\paramiko-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\r\nTo: username @qq.com\r\nSubject: python mail title\r\n\r\nThis is python mail content.\r\n''')
    
    {}
    
    >>>
    
    服务项目 技术咨询 微信图书 微信视频 微信代码 定制开发 其他福利
    服务入口 QQ群有问必答
    查看详情
    一本书解决90%问题
    查看详情
    微信开发视频
    小程序开发视频
    免费代码
    ¥1888阿里云代金券
    查看详情
    营销工具
    微信特异功能
  • 相关阅读:
    小程序导航栏文字动态修改
    小程序之页面跳转传递参数问题
    怎样像gitHub上上传文件
    js实现数组去重
    Promise 解决同步请求问题
    input 实现一次性上传文件
    layui中load具体用法
    echarts点击柱状图时触发点击事件
    js求100以内的素数
    js怎样判断一个数是质数
  • 原文地址:https://www.cnblogs.com/txw1958/p/2210092.html
Copyright © 2020-2023  润新知