I am currently working on a project with .NET 1.1 framework and I am stuck at this point. I have a string like "http://www.example.com/mypage/default.aspx" or it might be "http://www.example.edu/mypage/default.aspx" or "http://www.example.eu/mypage/default.aspx". How can I extract the base URl from this kind of a string.
Thanks
You can use URI class to get the host name.
var uri = new Uri("http://www.example.com/mypage/default.aspx"); var host = uri.Host;
Edit You can use uri.Scheme and uri.Port to get the .Scheme e.g. (http, ftp) and .Port to get the port number like (8080)
string host = uri.Host; string scheme = uri.Scheme; int port = uri.Port;
You can use Uri.GetLeftPart to get the base URL.
The GetLeftPart method returns a string containing the leftmost portion of the URI string, ending with the portion specified by part.
var uri = new Uri("http://www.example.com/mypage/default.aspx"); var baseUri = uri.GetLeftPart(System.UriPartial.Authority);
The following examples show a URI and the results of calling GetLeftPart with Scheme, Authority, Path, or Query, MSDN.
Short Answer
myUri.GetLeftPart(System.UriPartial.Authority)
Long Answer
Assuming "Base URI" means something like http://www.example.com
, you can get the base uri like this:
var myUri= new Uri("http://www.example.com/mypage/default.aspx"); var baseUri = myUri.GetLeftPart(System.UriPartial.Authority)
This gives: http://www.example.com
Note: uri.Host
gives: www.example.com
(not including port or scheme)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With