rocker_003 Ответов: 2

Как получить доменное имя и имя папки из url-адреса клиента (request.urlreferrer) стандартным способом


мне нужно получить доменное имя и имя папки из запроса.UrlReferrer. если url-адрес нравится "http://example.com/folder1/folder2/page.aspx?query1=123&query2=456" означает, что мне нужно получить "http://example.com/folder1/folder2/" или "folder1/folder2/", используя uri или другой стандартный метод.

Что я уже пробовал:

string hostedFolder = urlReferrer.LocalPath.Replace(urlReferrer.Segments[urlReferrer.Segments.Length - 1], "");

2 Ответов

Рейтинг:
2

Vincent Maverick Durano

Request.ApplicationPath должен дать вам веб-корневой относительный логический путь. Кроме того, если вы хотите работать с определенными сегментами URL-адреса, то вместо этого Вам может потребоваться выполнить простую манипуляцию строками с помощью string.Split метод.


MadMyche

Разве это не будет работать с (локальным) сценарием, который был запущен, а не с местоположением "реферера"?

Рейтинг:
19

OriginalGriff

Вы можете использовать класс Uri:

string url = @"http://example.com/folder1/folder2/page.aspx?query1=123&query2=456";
            Uri uri = new Uri(url);
Затем uri.LocalPath дать вам /folder1/folder2/page.aspx
И вы могли бы использовать Path.GetDirectoryName(uri.LocalPath) чтобы дать вам только папки: \folder1\folder2


rocker_003

его работа, но если имя страницы MVC (http://example.com/folder1/folder2/mvcpage-что?query1=123&query2=456) в url означает, что он рассматривает как страницу или папку?

OriginalGriff

Попробуй и увидишь...