View source code
Display the source code in std/net/curl.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.


FTP client functionality.

struct FTP ;


connectTimeout[set] DurationSet timeout for connecting.
contentLength[set] ulongThe content length in bytes of the ftp data.
dataTimeout[set] DurationSet timeout for activity on connection.
dnsTimeout[set] DurationDNS lookup timeout.
encoding[get, set] stringConnection encoding. Defaults to ISO-8859-1.
isStopped[get] boolTrue if the instance is stopped. A stopped instance is not usable.
localPort[set] ushortSet the local outgoing port to use.
localPortRange[set] ushortSet the local outgoing port range to use. This can be used together with the localPort property.
netInterface[set] const(char)[]The network interface to use in form of the IP of the interface.
onProgress[set] int delegate(ulong, ulong, ulong, ulong)The event handler that gets called to inform of upload/download progress.
onReceive[set] ulong delegate(ubyte[])The event handler that receives incoming data. Be sure to copy the incoming ubyte[] since it is not guaranteed to be valid after the callback returns.
onSend[set] ulong delegate(void[])The event handler that gets called when data is needed for sending. The length of the void[] specifies the maximum number of bytes that can be sent.
operationTimeout[set] DurationSet maximum time an operation is allowed to take. This includes dns resolution, connecting, data transfer, etc.
proxy[set] const(char)[]Proxy
proxyPort[set] ushortProxy port
proxyType[set] CurlProxyProxy type
tcpNoDelay[set] boolSet the tcp no-delay socket option on or off.
url[set] const(char)[]The URL to specify the location of the resource.
verbose[set] boolSet verbose. This will print request information to stderr.


addCommand (command) Add a command to send to ftp server.
clearCommands () Clear all commands send to ftp server.
dup ()
getTiming (timing, val) Get various timings defined in CurlInfo. The value is usable only if the return value is equal to CurlError.ok.
opCall (url) FTP access to the specified url.
opCall ()
perform (throwOnError) Performs the ftp request as it has been configured.
setAuthentication (username, password, domain) Set the user name, password and optionally domain for authentication purposes.
setProxyAuthentication (username, password) Set the user name and password for proxy authentication.
shutdown () Stop and invalidate this instance.


CurlProxy Type of proxy
requestAbort Value to return from onSend delegate in order to abort a request
requestPause Value to return from onSend/onReceive delegates in order to pause a request

See Also



Jonas Drewsen. Some of the SMTP code contributed by Jimmy Cao.


Boost License 1.0.