Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C) WIN Air Freight Login POST RequestDemonstrates the "login" POST method endpoint to obtain an initial authToken as a cookie. Each API request will return a fresh authToken cookie which must be passed back to WIN in the next API request.
#include <C_CkHttpW.h> #include <C_CkXmlW.h> #include <C_CkHttpResponseW.h> void ChilkatSample(void) { HCkHttpW http; HCkXmlW xml; HCkHttpResponseW resp; HCkXmlW xmlResponse; // This example assumes the Chilkat HTTP API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttpW_Create(); // Set the "Accept" header to tell the web server that we'll accept an XML response. CkHttpW_putAccept(http,L"application/xml"); // Tell Chilkat to cache any received cookies to files in a particular directory CkHttpW_putCookieDir(http,L"c:/qa_data/cookies"); CkHttpW_putSaveCookies(http,TRUE); xml = CkXmlW_Create(); CkXmlW_putTag(xml,L"LogOnModel"); CkXmlW_NewChild2(xml,L"UserName",L"win-air-freight-user@company.com"); CkXmlW_NewChild2(xml,L"Password",L"win-air-freight-password"); CkXmlW_putEmitXmlDecl(xml,FALSE); resp = CkHttpW_PText(http,L"POST",L"http://integration.winwebconnect.com/api/v1/Login",CkXmlW_getXml(xml),L"utf-8",L"application/xml",FALSE,FALSE); if (CkHttpW_getLastMethodSuccess(http) != TRUE) { wprintf(L"%s\n",CkHttpW_lastErrorText(http)); CkHttpW_Dispose(http); CkXmlW_Dispose(xml); return; } xmlResponse = CkXmlW_Create(); CkXmlW_LoadXml(xmlResponse,CkHttpResponseW_bodyStr(resp)); // See below for an example XML response body. wprintf(L"Response Body:\n"); wprintf(L"%s\n",CkXmlW_getXml(xmlResponse)); wprintf(L"---\n"); wprintf(L"Response Header:\n"); wprintf(L"%s\n",CkHttpResponseW_header(resp)); // An example resp header: // // Cache-Control: no-cache // Pragma: no-cache // Content-Length: 1671 // Content-Type: application/xml; charset=utf-8 // Expires: -1 // Set-Cookie: authToken=1467EC8A5D2F1390F89F9DB65AAAAB5C709D1AE7275B72B6DDBDA44C54AE5D5C19648F76AAB12C9D9E2690F0DD69BE6E1C0F6D725C9392E99E1904A6B76D7852948C01A49E2FF20914092843C062778B91EE7497DDF4C1AC4117110E414195C9726E3467BD98094437044A8E94F1BCA1; path=/; HttpOnly // Access-Control-Allow-Origin: http://integration.winwebconnect.com // Date: Mon, 21 Nov 2016 21:29:57 GMT CkHttpResponseW_Dispose(resp); wprintf(L"Success.\n"); // An example XML response body: // ----------------------------- // <?xml version="1.0" encoding="utf-8" ?> // <AuthResponseDTO> // <LastLogin>2016-11-21T21:29:58.229986Z</LastLogin> // <UserDetails> // <ContactID>16528</ContactID> // <AgentID>96592</AgentID> // <FirstName>System</FirstName> // <LastName>User</LastName> // <Email>test@company.com</Email> // <JobTitle /> // <ContactNumber /> // <IsActivated>true</IsActivated> // <OperatedBy /> // <AddressBookID /> // <Permissions>integrationapi</Permissions> // <ContactType>Primary</ContactType> // <UCTReferer /> // <UCTIsCaptcha>false</UCTIsCaptcha> // <UATReferer /> // <UATIsCaptcha>false</UATIsCaptcha> // <Username>test@company.com</Username> // </UserDetails> // <AgentDetails> // <AgentID>96592</AgentID> // <AgentName>My Company</AgentName> // <AccountNumber /> // <IATACode /> // <Address1>P.O. Box 555</Address1> // <Address2 /> // <Place /> // <StateProvince>NC</StateProvince> // <City> // <Code>USBFO</Code> // <Name>Raleigh</Name> // </City> // <Country> // <Code>US</Code> // <Name>US - United States</Name> // </Country> // <ZipCode>28522</ZipCode> // <Email /> // <Phone /> // <Fax /> // <IsEAirwayBill>false</IsEAirwayBill> // <EYProgram>false</EYProgram> // <WhiteLabelMobileApp>false</WhiteLabelMobileApp> // <Limits> // <UCTSearchesRemaining /> // <UATSearchesRemaining /> // <AgentID>96592</AgentID> // </Limits> // <Permissions>integrationapi</Permissions> // </AgentDetails> // <UserPreferences> // <AboutUs /> // <MOTD /> // <Language>en-US</Language> // <Currency>USD</Currency> // <UnitSystem>Metric</UnitSystem> // <TimeZone> // <TheID>450</TheID> // <KeyIdentifier>TimeZone</KeyIdentifier> // <KeyValue>GMT</KeyValue> // <KeyDescription>(GMT-11:00)UTC-11</KeyDescription> // <IsDefault>false</IsDefault> // </TimeZone> // <DateFormat>dd-MMM-yyyy</DateFormat> // <TimeFormat>h:mm t</TimeFormat> // <Controls /> // <ContactEmail /> // </UserPreferences> // <Version> // <APIVersion>3.4.0.0ah8</APIVersion> // <UIVersion>3.1</UIVersion> // </Version> // <NumNonMSDBContacts /> // </AuthResponseDTO> // CkHttpW_Dispose(http); CkXmlW_Dispose(xml); CkXmlW_Dispose(xmlResponse); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.