
In Dart, you can extract useful information from a given URL string by following the steps below:
1. Construct a Uri object from your URL string:
const url = "...";
const uri = Uri.parse(url);2. Now, you can get what you want through various properties of the Uri object. Below are the most commonly used:
- origin: The base URL (it looks like this: protocol://host:port)
 - host: The host part of the URL (a domain, an IP address, etc)
 - scheme: The protocol (http, https, etc)
 - port: The port number
 - path: The path
 - pathSegments: The URI path split into its segments
 - query: The query string
 - queryParameters: The query is split into a map for easy access
 
You can find more details about the Uri class in the official docs.
Example:
// main.dart
void main() {
  // an ordinary URL
  const urlOne = 'https://www.kindacode.com/some-category/some-path/';
  final uriOne = Uri.parse(urlOne);
  print(uriOne.origin); // https://www.kindacode.com
  print(uriOne.host); // www.kindacode.com
  print(uriOne.scheme); // https
  print(uriOne.port); // 443
  print(uriOne.path); // /some-category/some-path/
  print(uriOne.pathSegments); // [some-category, some-path]
  print(uriOne.query); // null
  print(uriOne.queryParameters); // {}
  // a URL with query paramters
  const urlTwo =
      'https://test.kindacode.com/one-two-three?search=flutter&sort=asc';
  final uriTwo = Uri.parse(urlTwo);
  print(uriTwo.origin); // https://test.kindacode.com
  print(uriTwo.host); // test.kindacode.com
  print(uriTwo.scheme);
  print(uriTwo.port); // 443
  print(uriTwo.path); // /one-two-three
  print(uriTwo.pathSegments); // [one-two-three]
  print(uriTwo.query); // search=flutter&sort=asc
  print(uriTwo.queryParameters); // {search: flutter, sort: asc}
}That’s it. Further reading:
- Dart: Sorting Entries of a Map by Its Values
 - How to Subtract two Dates in Flutter & Dart
 - Using GetX to make GET/POST requests in Flutter
 - Flutter: Creating a Fullscreen Modal with Search Form
 - Flutter: Showing a Context Menu on Long Press
 - TabBar, TabBarView, and TabPageSelector in Flutter
 
You can also tour around our Flutter topic page or Dart topic page for the most recent tutorials and examples.