Sample code for 30+ languages & platforms
Zig

Automatically Determine FTP Proxy Method

See more FTP Examples

Tries each of the five possible ProxyMethod settings and returns the value (1-5) of the ProxyMethod that succeeded.

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main() !void {
    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    const ftp = try chilkat.Ftp2.init();
    defer ftp.deinit();

    ftp.setHostname("www.example-code.com");
    ftp.setUsername("example-code.com");
    ftp.setPassword("****");

    ftp.setProxyHostname("ftp.myproxyhost.com");
    ftp.setProxyPort(21);
    // Note: Your FTP Proxy server may or may not require authentication.
    ftp.setProxyUsername("myProxyUsername");
    ftp.setProxyPassword("myProxyPassword");

    // The ProxyMethod should be an integer value between 1 and 5.
    // If you know your FTP proxy server's authentication scheme,
    // you may set it directly.  To determine the ProxyMethod,
    // call DetermineProxyMethod.  A return value of -1 indicates a failure.
    // A return value of 0 indicates that nothing worked.
    // A return value of 1-5 indicates the ProxyMethod that was
    // successful, and this should be the value used for the ProxyMethod
    // property.

ERROR: Method not in the Zig package: Ftp2.DetermineProxyMethod
ERROR: Method not in the Zig package: Ftp2.DetermineProxyMethod
    const p_method = ftp.ERROR();
    std.debug.print("{d}\n", .{p_method});

    try ftp.disconnect();
}