Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Net;
- using System.Text;
- namespace ValidateUrl
- {
- class StartUp
- {
- static void Main(string[] args)
- {
- var urlInput = Console.ReadLine();
- var decodedUrl = WebUtility.UrlDecode(urlInput);
- try
- {
- var parsedUrl = new Uri(decodedUrl);
- if (string.IsNullOrWhiteSpace(parsedUrl.Scheme) ||
- string.IsNullOrWhiteSpace(parsedUrl.Host) ||
- string.IsNullOrWhiteSpace(parsedUrl.LocalPath))
- {
- throw new ArgumentException("Invalid URL");
- }
- var builder = new StringBuilder();
- builder
- .AppendLine($"Protocol: {parsedUrl.Scheme}")
- .AppendLine($"Host: {parsedUrl.Host}")
- .AppendLine($"Port: {parsedUrl.Port}")
- .AppendLine($"Path: {parsedUrl.LocalPath}");
- if (!string.IsNullOrWhiteSpace(parsedUrl.Query))
- {
- builder.AppendLine($"Query: {parsedUrl.Query.Substring(1)}");
- }
- if (!string.IsNullOrWhiteSpace(parsedUrl.Fragment))
- {
- builder.AppendLine($"Fragment: {parsedUrl.Fragment.Substring(1)}");
- }
- Console.WriteLine(builder.ToString().Trim());
- }
- catch (Exception)
- {
- Console.WriteLine("Invalid URL");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement