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 ...
随机推荐
- 【Redis源代码剖析】 - Redis内置数据结构之压缩字典zipmap
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51111230 今天为大家带来Redis中zipmap数据结构的分析,该结构定义在 ...
- 【苦读官方文档】2.Android应用程序基本原理概述
官方文档原文地址 应用程序原理 Android应用程序是通过Java编程语言来写.Android软件开发工具把你的代码和其它数据.资源文件一起编译.打包成一个APK文件,这个文档以.apk为后缀,保存 ...
- ORA-00907: 缺失右括号问题整理解决
ORA-00907: 缺失右括号 前言 近期在开发过程中使用oracle数据库,在程序中进行查询数据时遇到了"ORA-00907: 缺失右括号"的问题.可是假设直接把sql语句直接 ...
- ios开发事件处理之 四:hittest方法的底层实现与应用
#import "XMGWindow.h" /** 1:注意点:hitTest方法内部会调用pointInside方法,询问触摸点是否在自己身上,当遍历子控件时,传入的坐标点要进行 ...
- PDF编译出现错误解决的方法————————【Badboy】
额 今天 在编译PDF时发现使用了一下STL中的z数值极限居然编译只是. return GetRangeConstraint(value <= std::numeric_limits::max ...
- Thinkphp5 Auth权限认证
Thinkphp5 Auth权限认证 一.总结 一句话总结:四表两组关系,一个多对多(权限和用户组之间),一个一对多(用户和用户组之间) 二.Thinkphp5 Auth权限认证 auth类在thin ...
- Android 截取手机屏幕两种实现方案解析
近期在开发的过程中,遇到了一个须要截取屏幕保存为图片的需求,详细为截取webview的视图保存图片. 方法1:首先想到的思路是利用SDK提供的View.getDrawingCache()方法: pub ...
- Gini 系数与熵的关系
首先来看二者的基本定义: ⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪H(X)=−∑k=1KpklnpkGini(X)=∑k=1Kpk(1−pk) 将 f(x)=−lnx 在 x=1 处进行一阶泰勒展开(忽略高阶无穷小 ...
- erlang lists
http://blog.csdn.net/dp0304/article/details/7590233 一,带函数Pred1, all(Pred, List) -> boolean()如果Lis ...
- Ubuntu 安装 SSH server 并配置 SSH 无密码登录
https://hinine.com/install-and-configure-ssh-server-on-ubuntu/ Ubuntu 安装 SSH server 并配置 SSH 无密码登录 发表 ...