python - 通过telnet上传文件

标签 python telnetlib

我正在编写一个 python 脚本来将文件上传到我的文件服务器:

host = "myhost.dev"
tn = telnetlib.Telnet()
tn.open(host, 5202)
print tn.read_until("\n")
fp = "./output"

f = open(fp, "r")
f_body = f.read()

tn.write(f_body)
tn.write("\n")

f.close()

如果文件有一个换行符 - 0a,并且它是 gzip 文件中二进制数据的一部分,我应该怎么做才能转义它? python telnetlib 可以自己完成吗?或者我应该这样做吗?

最诚挚的问候

最佳答案

我认为telnet不是传输文件的最佳选择,但如果您仍然想使用它来上传文件。您可以尝试执行以下操作(尚未尝试,但我认为应该可行)

#On client side
...
import base64
with open('test.gz','rb') as f:
    content = f.read()

content_serialized = base64.b64encode(content)+'\n'
...
#On server side
...
import base64
content = base64.b64decode(content_serialized.rstrip('\n'))
    with open('test.gz','wb') as f:
        f.write(content)    
...

关于python - 通过telnet上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6730697/

相关文章:

python - 如何让 Python 代码在 telnet (telnetlib) 超时后继续

python - 更改 Ned Batchelder 覆盖率工具的默认 Python 版本

python - 修改 Levenshtein-Distance 以忽略顺序

Python/Selenium 使用 Firefox 下载 PDF

Python Telnet 端口 23 与 223 具有不同的结果

python - 如何在 Python 中使用 telnet 命令来检查远程服务器上的缺失数据流

python - Telnet 和 SSH 在主文件中调用,Telnet 有效但 ssh 失败

Python Pandas : rolling_kurt vs. scipy.stats.kurtosis

带有颜色条和图例问题的 Python 散点图