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++) HTTPS Windows Integrated AuthenticationThis example pertains to running on the Windows operating system only. It provides guidance on how to send HTTP requests using the current logged-on Windows user credentials. This is where NTLM/Negotiate authentication is used, but the login/password credentials are not explicitly provided by the application, but are implicitly provided based on the Windows logged-on user (i.e. the Windows account for the running process).
#include <CkHttpW.h> void ChilkatSample(void) { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkHttpW http; // Chilkat implements the NTLM protocol directly, which is how it can be used on non-Windows systems. // However, Chilkat can also optionally use Microsoft's SSPI (see https://docs.microsoft.com/en-us/windows/desktop/secauthn/ssp-packages-provided-by-microsoft) // to allow for Windows Integrated Authentication. // Setting the HTTP Login equal to the empty string, and the Password equal to the keyword "default" // will cause Chilkat to use the Microsoft SSPI w/ integrated authentication. http.put_Login(L""); http.put_Password(L"default"); // We can also explicitly indicate that NTLM or Negotiate authentication is to be used: http.put_NegotiateAuth(true); // Set various properties unrelated to authentication.. // Automatically follow redirects. http.put_FollowRedirects(true); // Give verbose logging in the LastErrorText (in case there are errors) http.put_VerboseLogging(true); // Optionally log the exact session to a file (for debugging) http.put_SessionLogFilename(L"c:/someDir/session.txt"); // Perhaps you wish to be seen as a browser on Mac OS X.. http.put_UserAgent(L"Mozilla/5.0 (Windows NT; Windows NT 6.1; en-GB) AppleWebKit/534.6 (KHTML, like Gecko) Chrome/7.0.500.0 Safari/534.6"); // Note: If the result of authentication is to set Cookies that are used in subsequent requests, // then make sure Chilkat both saves and sends cookies: http.put_SaveCookies(true); http.put_SendCookies(true); http.put_CookieDir(L"memory"); // Send a GET request to a URL, using Windows Integrated Authentication... const wchar_t *responseStr = http.quickGetStr(L"https://somewhere.net/api/user"); if (http.get_LastMethodSuccess() != true) { wprintf(L"%s\n",http.lastErrorText()); return; } wprintf(L"response status code = %d\n",http.get_LastStatus()); wprintf(L"response header:\n"); wprintf(L"%s\n",http.lastHeader()); wprintf(L"----\n"); wprintf(L"%s\n",responseStr); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.