第十七章、 网络编程
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''')
{}
>>>

python 教程 第十七章、 网络编程的更多相关文章

  1. python六十七课——网络编程(基础知识了解)

    网络编程: 什么是网络编程? 网络:它是一种隐形的媒介:可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我 ...

  2. Python全栈【Socket网络编程】

    Python全栈[socket网络编程] 本章内容: Socket 基于TCP的套接字 基于UDP的套接字 TCP粘包 SocketServer 模块(ThreadingTCPServer源码剖析) ...

  3. 进击的Python【第十七章】:jQuery的基本应用

    进击的Python[第十七章]:jQuery的基本应用

  4. 《深入浅出Node.js》第7章 网络编程

    @by Ruth92(转载请注明出处) 第7章 网络编程 Node 只需要几行代码即可构建服务器,无需额外的容器. Node 提供了以下4个模块(适用于服务器端和客户端): net -> TCP ...

  5. [CSAPP笔记][第十一章网络编程]

    第十一章 网络编程 我们需要理解基本的客户端-服务端编程模型,以及如何编写使用因特网提供的服务的客户端-服务端程序. 最后,我们将把所有这些概念结合起来,开发一个小的但功能齐全的Web服务器,能够为真 ...

  6. CSAPP:第十一章 网络编程

    CSAPP:第十一章 网络编程 11.1 客户端服务器模型11.2 全球IP因特网11.3 套接字接口 11.1 客户端服务器模型   每个网络应用都是基于客户端-服务器模型.采用这个模型,一个应用是 ...

  7. 2017.2.16 开涛shiro教程-第十七章-OAuth2集成(二)客户端

    原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第十七章-OAuth2集成 3.客户端 客户端 ...

  8. 2017.2.16 开涛shiro教程-第十七章-OAuth2集成(一)服务器端

    原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第十七章-OAuth2集成 1.OAuth2介 ...

  9. Objective-C 基础教程第三章,面向对象编程基础知

    目录 Objective-C 基础教程第三章,面向对象编程基础知 0x00 前言 0x01 间接(indirection) 0x02 面向对象编程中使用间接 面向过程编程 面向对象编程 0x03 OC ...

随机推荐

  1. [Angular] @ContentChild with Directive ref

    For example you have a component, which take a trasclude input element: <au-fa-input id="pas ...

  2. GridView在PopWindow中OnItemClick不响应

    在安卓4.0系统中,GridView在PopWindow中OnItemClick不响应,但是有按压效果.需要PopWindow的Show时加入这行代码: popupWindow.setFocusabl ...

  3. Node.js v10.1.0 Documentation

    Modules Stable 在 Node.js 模块系统中,每个文件都会被当做一个独立的模块.假设有一个名为 foo.js: const circle = require('./circle.js' ...

  4. P2P网络借贷系统简要解读

    P2P网络借贷系统的核心功能其实很简单,就是若干投资者(借款人)集体把钱贷给贷款人,到期后,贷款人把利息和本金按时还给借款人.平台的主要作用是"撮合",收取一定的服务费和管理费. ...

  5. 【u122】迎接仪式

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] LHX教主要来X市指导OI学习工作了.为了迎接教主,在一条道路旁,一群Orz教主er穿着文化衫站在道路 ...

  6. js课程 1-5 js如何测试变量的数据类型

    js课程 1-5 js如何测试变量的数据类型 一.总结 一句话总结:用typeof()方法. 1.js如何判断变量的数据类型? 用typeof()方法. 13 v=10; 14 15 if(typeo ...

  7. Java基本数据类型的取值范围

    版权声明:本文为博主原创文章,未经博主允许不得转载. 先看一段代码public class Hello{    public static void main(String[] args){      ...

  8. 基于 Android NDK 的学习之旅-----JNI 数据类型

    经典老套流程,学编程语言东西,先学它最基础的数据类型,JNI也是如此.JNI 定义了一系列基本数据类型和引用数据类型与java想对应. 1.基本数据类型 下面一张表是描述了 Java 基本数据类型和J ...

  9. ECharts.js 超简单入门(本质canvas)

    ECharts.js 超简单入门(本质canvas) 一.总结 一句话总结:echarts这些图标的本质都是canvas. 二.ECharts.js学习(一) 简单入门 EChart.js 简单入门 ...

  10. Java8学习之旅2---基于Lambda的JDBC编程

    Java8的Lambda表达式确实是一个很好的特性.可是在哪些场合下使用.事实上还是须要细致考虑的.我们当然不能为了使用而使用,而是须要找到切实实用的场合.在JDBC编程中,比如查询语句,首先须要进行 ...