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''')
{}
>>>
python 教程 第十七章、 网络编程的更多相关文章
- python六十七课——网络编程(基础知识了解)
网络编程: 什么是网络编程? 网络:它是一种隐形的媒介:可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我 ...
- Python全栈【Socket网络编程】
Python全栈[socket网络编程] 本章内容: Socket 基于TCP的套接字 基于UDP的套接字 TCP粘包 SocketServer 模块(ThreadingTCPServer源码剖析) ...
- 进击的Python【第十七章】:jQuery的基本应用
进击的Python[第十七章]:jQuery的基本应用
- 《深入浅出Node.js》第7章 网络编程
@by Ruth92(转载请注明出处) 第7章 网络编程 Node 只需要几行代码即可构建服务器,无需额外的容器. Node 提供了以下4个模块(适用于服务器端和客户端): net -> TCP ...
- [CSAPP笔记][第十一章网络编程]
第十一章 网络编程 我们需要理解基本的客户端-服务端编程模型,以及如何编写使用因特网提供的服务的客户端-服务端程序. 最后,我们将把所有这些概念结合起来,开发一个小的但功能齐全的Web服务器,能够为真 ...
- CSAPP:第十一章 网络编程
CSAPP:第十一章 网络编程 11.1 客户端服务器模型11.2 全球IP因特网11.3 套接字接口 11.1 客户端服务器模型 每个网络应用都是基于客户端-服务器模型.采用这个模型,一个应用是 ...
- 2017.2.16 开涛shiro教程-第十七章-OAuth2集成(二)客户端
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第十七章-OAuth2集成 3.客户端 客户端 ...
- 2017.2.16 开涛shiro教程-第十七章-OAuth2集成(一)服务器端
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第十七章-OAuth2集成 1.OAuth2介 ...
- Objective-C 基础教程第三章,面向对象编程基础知
目录 Objective-C 基础教程第三章,面向对象编程基础知 0x00 前言 0x01 间接(indirection) 0x02 面向对象编程中使用间接 面向过程编程 面向对象编程 0x03 OC ...
随机推荐
- 【rlz01】完全数
Time Limit: 3 second Memory Limit: 2 MB 问题描述 所谓完全数,就是这个数除了它本身的约数之和也等于这个数,比如说6的约数有1.2.3,而1+2+3=6,所以6是 ...
- 《Java设计模式》之抽象工厂模式
场景问题 举个生活中常见的样例--组装电脑.我们在组装电脑的时候.通常须要选择一系列的配件,比方CPU.硬盘.内存.主板.电源.机箱等. 为讨论使用简单点.仅仅考虑选择CPU和主板的问题. 其实,在选 ...
- swift学习第九天:可选类型以及应用场景
可选类型的介绍 注意: 可选类型时swift中较理解的一个知识点 暂时先了解,多利用Xcode的提示来使用 随着学习的深入,慢慢理解其中的原理和好处 概念: 在OC开发中,如果一个变量暂停不使用,可以 ...
- 目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”)。静态库是一个或者多个obj文件的打包
前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”) ...
- Booth算法
Booth算法 算法描述(载自维基百科) 对于N位乘数Y,布斯算法检查其2的补码形式的最后一位和一个隐含的低位,命名为y-1,初始值为0.对于yi, i = 0, 1, ..., N - 1,考察yi ...
- 【u002】数列排序(seqsort)
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 给定一个数列{an},这个数列满足ai≠aj(i≠j),现在要求你把这个数列从小到大排序,每次允许你交 ...
- 基于 Android NDK 的学习之旅----- C调用Java
许多成熟的C引擎要移植到Android 平台上使用 , 一般都会 提供 一些接口, 让Android sdk 和 jdk 实现. 下文将会介绍 C 如何 通过 JNI 层调用 Java 的静态和非静态 ...
- Kinect 摄像头范围介绍和玩家舒适距离实测
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接: http://blog.csdn.net/cartzhang/article/details/44588097 作者:ca ...
- TI_DSP_SRIO - Doorbell原理
前文介绍到SRIO有多种类型的包,当中包括了Doorbell包,Doorbell是一种高速的通知类型的短消息,包头和携带信息都非常短,用于master srio设备通知slave srio设备,可用于 ...
- js调用百度地图api
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...