Парсинг Url при помощи Uri класса

14.06.2009 at 16:40 1 комментарий

Сначала понятия

URI Universal Resource Identifier

URI состоит из:

{Scheme}://{Authority}{Local path}{Query}{Fragment}

Пример Abolute Uri
http://www.mydomain.tld:3284/folder/page.php?arg1=val1&arg2=val2#fragment
Части URI
http – Scheme
www.mydomain.tld – Host
www.mydomain.tld:3284 – Authority
3284 - Port/folder/page.php – Local Path
?arg1=val1&arg2=val2 – Query
#fragment - Fragment
 

Парсинг url

Класс Uri требует чтобы URL, который подается ему в параметр в виде строки был абсолютным, т.е. содержал Scheme и Authority. Поскольку часто требуется парсить относительный url то необходимо подготовить базовый Uri перед парсингом. Для этого можно воспользоваться HttpContext.Current.Request.Url

public static class UriExtensions {
        public static Uri SafeCreate(string url, HttpContext context ) {
            if (url.Contains("://"))
                return new Uri(url);
            else {
                return new Uri(context.Request.Url, url);
            }
        }

Ссылки

Реклама

Entry filed under: Программирование. Tags: , .

Легальный офис, возможно ли это? Впечатления от BaseCamp (37 signals)

1 комментарий Add your own

  • 1. sosni  |  06.09.2012 в 21:16

    заебись так учить кодить на том на чём сам не кодишь дно ебаное

    Ответить

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

Subscribe to the comments via RSS Feed


Google Custom Search Engine

Мой GCE по ASP.NET блогам
Все желающие могут добавлять в него блоги и сайты по asp.net и вебпрограммной тематике

Свежие записи

Top Clicks

  • Нет

RSS Некоторые посты из блогов, которые я читаю

  • Произошла ошибка; возможно, лента недоступна. Повторите попытку позже.

Страницы

Июнь 2009
Пн Вт Ср Чт Пт Сб Вс
« Апр   Июл »
1234567
891011121314
15161718192021
22232425262728
2930  

%d такие блоггеры, как: