Sample code for 30+ languages & platforms
Zig Requires Chilkat v11.0.0+

Send XMLHttpRequest and Get Response

See more HTTP Examples

Demonstrates how to send an HTTP XML request and retrieve the response.

Chilkat Zig Downloads

Zig
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 API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    const http = try chilkat.Http.init();
    defer http.deinit();

    // The XML sent in the body of the request is application
    // specified -- it should contain whatever the server-side
    // application is expecting..
    const xml_str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><appXml><something>123</something></appXml>";

    const url_endpoint = "http://www.chilkatsoft.com/xmlEcho.asp";
    const xml_charset = "utf-8";

    const resp = try chilkat.HttpResponse.init();
    defer resp.deinit();
    http.httpStr("POST", url_endpoint, xml_str, xml_charset, "application/xml", resp) catch {
        std.debug.print("{s}\n", .{try http.getLastErrorText(alloc)});
        return;
    };

    // The raw HTTP request sent by the above call is:

    // POST /xmlEcho.asp HTTP/1.1
    // Content-Type: text/xml
    // Host: www.chilkatsoft.com
    // Accept: */*
    // Accept-Charset: ISO-8859-1,utf-8;q=0.7,*; q=0.7
    // Accept-Language: en-us,en;q=0.5
    // Accept-Encoding: gzip
    // Content-Length: 81
    //
    // <?xml version="1.0" encoding="UTF-8"?><appXml><something>123</something></appXml>

    // Examine the Body of the HTTP response
    // This would be the XML response sent by the server.
    std.debug.print("{s}\n", .{try resp.getBodyStr(alloc)});
}