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 ...
随机推荐
- 钢琴 - steinway
http://www.wangyanpiano.com/bbs/thread-104723-1-1.html Poston 波士顿钢琴 三角钢琴 GP-156 黑色抛光 178 ...
- Android开发之SpannableString具体解释
在实际的应用开发过程中常常会遇到.在文本的不同部分显示一些不同的字体风格的信息如:文本的字体.大小.颜色.样式.以及超级链接等. 普通情况下,TextView中的文本都是一个样式.对于类似的情况.能够 ...
- andorid 自己定义SwitchButton
因项目缘故需又一次定制SwitchButton,效果例如以下: 步骤例如以下: 1.圆角矩形的绘制 2.字体绘制 3.小圆绘制 4.左右滑动动画效果绘制 代码例如以下: package com.s ...
- LinearLayout的一些注意事项 分类: H1_ANDROID 2013-10-26 23:01 856人阅读 评论(0) 收藏
1.orientation的默认值为horizontal,即从左向右排列.由于一般从上向下排列,所以必须指定orientation属性. 2.layout_gravity与gravity的区别: (1 ...
- Cocos2d-x学习笔记(16)(常见22种特效)
1.CCShaky3D::create(int range.bool shakeZ,const ccGridSize& gridSize,float duration)//创建一个3D晃动的特 ...
- HDU 5072 Coprime (单色三角形+容斥原理)
题目链接:Coprime pid=5072"> 题面: Coprime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- 散列:散列函数与散列表(hash table)
1. 散列函数 如果输入的关键字是整数,则一般合理方法是直接返回对表大小取模(Key mod TableSize)的结果,除非 Key 碰巧具有一些不太理想的特质.如,表的大小为 10,而关键字都是 ...
- RAC sysdate
rac的sysdate可能不一致,这个需要注意.
- javaScript DOM编程经常使用的方法与属性
DOM是Document Object Model文档对象模型的缩写.依据W3C DOM规范,DOM是一种与浏览器,平台,语言无关的接口,使得你能够訪问页面其它的标准组件. Node接口的特性和方法 ...
- 【codeforces 602D】Lipshitz Sequence
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...