FTP: Difference between revisions

1,000 bytes added ,  3 years ago
Updated to compile with Nim 1.4. Added switch to passive mode. Added disconnection, etc.
(Updated to compile with Nim 1.4. Added switch to passive mode. Added disconnection, etc.)
Line 645:
=={{header|Nim}}==
 
{{works with|Nim|1.0.64}}
 
<lang nim>import asyncdispatch, asyncftpclient
 
const
Host = "speedtest.tele2.net"
awaitUpload = ftp.cd("upload")
let filenameFile = "1KB.zip"
 
proc main {.async.} =
 
let ftp = newAsyncFtpClient("speedtest.tele2.net", user = "anonymous")
# Create session and connect.
await ftp.cd("upload")
let ftp = newAsyncFtpClient("speedtest.tele2.net"Host, user = "anonymous", pass = "anything")
echo await ftp.listDirs()
await ftp.connect()
let filename = "1KB.zip"
echo "Connected."
ftp.retrFile(src = filename, dest = filename)
echo await ftp.send("PASV") # Switch to passive mode.
ftp.close()
 
# Change directory and list its contents.
await ftp.cd(Upload)
echo "Changed to directory: ", Upload
echo "Contents of directory: ", Upload
echofor file in await ftp.listDirs():
echo " ", file
 
# Download a file.
await ftp.cd("/")
echo "Returned to root directory."
await ftp.retrFile(srcfile = filenameFile, dest = filenameFile)
echo "Downloaded file: ", File
echo await ftp.send("QUIT") # Disconnect.
 
waitFor main()</lang>
 
{{out}}
<pre>Connected.
227 Entering Passive Mode (90,130,70,73,94,108).
Changed to directory: upload
Contents of directory: upload
1_2758858854070946631_17-9ULspeedtest.upt
2MB.zip
2_2758858854070946631_17-9ULspeedtest.upt
3_2758858854070946631_17-9ULspeedtest.upt
DCS-932LB1-WEBCAM-12021010316232001.jpg
DCS-932LB1-WEBCAM-12021010316292601.jpg
DCS-932LB1-WEBCAM-12021010316314601.jpg
speedtest_uplink_1.1G.zip
upload_file.txt
Returned to root directory.
Downloaded file: 1KB.zip
221 Goodbye.</pre>
 
=={{header|Perl}}==
Anonymous user