Advertisement
Guest User

Untitled

a guest
May 21st, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. using System;
  2. using System.Net;
  3. using System.Text;
  4.  
  5. namespace ValidateUrl
  6. {
  7. class StartUp
  8. {
  9. static void Main(string[] args)
  10. {
  11. var urlInput = Console.ReadLine();
  12. var decodedUrl = WebUtility.UrlDecode(urlInput);
  13.  
  14. try
  15. {
  16. var parsedUrl = new Uri(decodedUrl);
  17.  
  18.  
  19. if (string.IsNullOrWhiteSpace(parsedUrl.Scheme) ||
  20. string.IsNullOrWhiteSpace(parsedUrl.Host) ||
  21. string.IsNullOrWhiteSpace(parsedUrl.LocalPath))
  22. {
  23. throw new ArgumentException("Invalid URL");
  24. }
  25.  
  26. var builder = new StringBuilder();
  27. builder
  28. .AppendLine($"Protocol: {parsedUrl.Scheme}")
  29. .AppendLine($"Host: {parsedUrl.Host}")
  30. .AppendLine($"Port: {parsedUrl.Port}")
  31. .AppendLine($"Path: {parsedUrl.LocalPath}");
  32.  
  33.  
  34. if (!string.IsNullOrWhiteSpace(parsedUrl.Query))
  35. {
  36. builder.AppendLine($"Query: {parsedUrl.Query.Substring(1)}");
  37. }
  38.  
  39. if (!string.IsNullOrWhiteSpace(parsedUrl.Fragment))
  40. {
  41. builder.AppendLine($"Fragment: {parsedUrl.Fragment.Substring(1)}");
  42. }
  43.  
  44. Console.WriteLine(builder.ToString().Trim());
  45. }
  46. catch (Exception)
  47. {
  48. Console.WriteLine("Invalid URL");
  49. }
  50. }
  51.  
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement