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
(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_CkHttp.h> #include <C_CkXml.h> #include <C_CkHttpResponse.h> void ChilkatSample(void) { HCkHttp http; HCkXml xml; HCkHttpResponse resp; HCkXml xmlResponse; // This example assumes the Chilkat HTTP API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttp_Create(); // Set the "Accept" header to tell the web server that we'll accept an XML response. CkHttp_putAccept(http,"application/xml"); // Tell Chilkat to cache any received cookies to files in a particular directory CkHttp_putCookieDir(http,"c:/qa_data/cookies"); CkHttp_putSaveCookies(http,TRUE); xml = CkXml_Create(); CkXml_putTag(xml,"LogOnModel"); CkXml_NewChild2(xml,"UserName","win-air-freight-user@company.com"); CkXml_NewChild2(xml,"Password","win-air-freight-password"); CkXml_putEmitXmlDecl(xml,FALSE); resp = CkHttp_PText(http,"POST","http://integration.winwebconnect.com/api/v1/Login",CkXml_getXml(xml),"utf-8","application/xml",FALSE,FALSE); if (CkHttp_getLastMethodSuccess(http) != TRUE) { printf("%s\n",CkHttp_lastErrorText(http)); CkHttp_Dispose(http); CkXml_Dispose(xml); return; } xmlResponse = CkXml_Create(); CkXml_LoadXml(xmlResponse,CkHttpResponse_bodyStr(resp)); // See below for an example XML response body. printf("Response Body:\n"); printf("%s\n",CkXml_getXml(xmlResponse)); printf("---\n"); printf("Response Header:\n"); printf("%s\n",CkHttpResponse_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 CkHttpResponse_Dispose(resp); printf("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> // CkHttp_Dispose(http); CkXml_Dispose(xml); CkXml_Dispose(xmlResponse); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.