Bab*_*oon 6 python sockets file
我不知道之前是否已经回答过这个问题(我在线查看但找不到),但是如何通过网络将文件(如果可能的话.exe)发送到另一台连接到网络的计算机?我试过套接字,但我只能发送字符串,我试图学习ftplib,但我根本不理解它,或者如果ftp甚至是我正在寻找的东西,所以我完全停顿了.任何输入都值得赞赏(如果有人可以解释FTP,就更像是套接字吗?我见过的所有例子都没有客户端可以连接的服务器程序.)
答:我http.server
有时使用这个:
python -m http.server
Run Code Online (Sandbox Code Playgroud)
...它将在端口8000上为当前目录中的文件提供服务.在另一台计算机上打开您的Web浏览器并下载您想要的任何内容.
要知道您的计算机的IP地址,您可以使用(在Ubuntu中)ifconfig,例如:
python -m SimpleHTTPServer
Run Code Online (Sandbox Code Playgroud)
然后,在另一台计算机中,您将浏览器发送到:http://10.0.0.3:8000.
B.如果你启用了SSH,你可以使用paramiko连接和SFTP传输任何你想要的.
发送方的一些简单示例代码:
if os.path.exists(df):
with open(df, 'rb') as f:
packet = f.read(blocksize)
while packet != '':
conn.send(packet)
packet = f.read(blocksize)
Run Code Online (Sandbox Code Playgroud)
哪里:
df = 'path/to/data/file'
blocksize = 8192 # or some other size packet you want to transmit.
# Powers of 2 are good.
conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15216 次 |
最近记录: |