Zig
Zig
HTTP/HTTPS using SOCKS5 Proxy
See more HTTP Examples
Demonstrates how to use HTTP/HTTPS with a SOCKS5 proxy.Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// This example assumes the Chilkat HTTP API to have been previously unlocked.
// See Global Unlock Sample for sample code.
const http = try chilkat.Http.init();
defer http.deinit();
// Using a SOCKS5 proxy is just a matter of setting a few properties.
// Once these properties are set, all other coding is the same as when
// the connection is direct to the HTTP server.
// Set the SocksVersion property = 5 for SOCKS5
http.setSocksVersion(5);
// Set the SocksHostname to the SOCKS proxy domain name or IP address,
// which may be IPv4 (dotted notation) or IPv6.
http.setSocksHostname("192.168.1.100");
// The port where the SOCKS5 proxy is listening.
http.setSocksPort(1080);
// If the SOCKS5 proxy itself requires authentication, set the username/password
// like this. (otherwise leave the username/password empty)
http.setSocksUsername("myUsername");
http.setSocksPassword("myPassword");
// Now do whatever it is you need to do. All communications will go through the proxy.
const html = http.quickGetStr(alloc, "https://www.google.com/") catch {
std.debug.print("{s}\n", .{try http.getLastErrorText(alloc)});
return;
};
std.debug.print("{s}\n", .{html});
std.debug.print("----\n", .{});
std.debug.print("Success!\n", .{});
}