PnP Core Component - Get All Web URLs in SharePoint 2016

Please refer to the Introduction to PnP Core Component and OfficeDevPnP.Core for more details. I have created a console application and added SharePointPnPCoreOnline NuGet package for the SharePoint 2016 version.
 
Code Snippet
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using System.Threading.Tasks;  
  6. using Microsoft.SharePoint.Client;  
  7. using OfficeDevPnP.Core;  
  8.   
  9. namespace SP2016PnPCoreComponentDemo  
  10. {  
  11.     class Program  
  12.     {  
  13.         static void Main(string[] args)  
  14.         {  
  15.             // Input Parameters  
  16.             string siteUrl = "http://c7395723754/";  
  17.             string userName = "administrator";  
  18.             string password = "xxxxxxxxx";  
  19.             string domain = "AD2012";             
  20.   
  21.             OfficeDevPnP.Core.AuthenticationManager authMgr = new OfficeDevPnP.Core.AuthenticationManager();  
  22.   
  23.             try  
  24.             {  
  25.                 // Get the client context  
  26.                 using (var ctx = authMgr.GetNetworkCredentialAuthenticatedContext(siteUrl, userName, password, domain))  
  27.                 {  
  28.                     // Get all web URL's  
  29.                     var URLs = ctx.Site.GetAllWebUrls();  
  30.                     foreach (var URL in URLs)  
  31.                     {  
  32.                         Console.WriteLine(URL);  
  33.                     }  
  34.                     Console.ReadLine();  
  35.                 }  
  36.             }  
  37.   
  38.             catch (Exception ex)  
  39.             {  
  40.                 Console.WriteLine("Error Message: " + ex.Message);  
  41.             }  
  42.         }  
  43.     }  
  44. }