Парсинг URL'ов в C#

Категория: C# Комментариев: 0

В C# для парсинга URL'а (Unified Resource Locator) страницы используется класс UriBuilder.

Сразу приведу пример:

using System;

namespace ParseUrl
{
	class MainClass
	{
		static void Main()
		{
			UriBuilder parser = new UriBuilder("http://microsoft.com:80/default.aspx?id=55");
			Console.WriteLine(parser.Uri);		// http://microsoft.com/default.aspx?id=55
			Console.WriteLine(parser.Host);		// microsoft.com
			Console.WriteLine(parser.Scheme);	// http
			Console.WriteLine(parser.Path);		// /default.aspx
			Console.WriteLine(parser.Port);		// 80
			Console.WriteLine(parser.Query);	// ?id=55
			Console.WriteLine(parser.Fragment);	// 

			UriBuilder builder = new UriBuilder("https", "microsoft.com", 81, "/default.aspx","?id=77");
			// Получим https://microsoft.com:81/default.aspx?id=77
			Console.WriteLine(builder.ToString());
			Console.ReadLine();
		}
	}
}

Как видно из примера, для работы с URL'ом следует его передать в конструктор класса UriBuilder.
Помимо такой передачи URL'а в конструктор класса, возможны еще и следующие варианты:

UriBuilder(string protocol, string hostName);
UriBuilder(string scheme, string host, int portNumber);
UriBuilder(string scheme, string host, int port, string pathValue);
UriBuilder(string scheme, string host, int port, string path, string extraValue);

Для доступа к тому, или иному участку URL'а следует использовать следующие свойства класса:
UriBuilder.Uri — возвращает полный URL;
UriBuilder.Scheme — возвращает протокол передачи данных (http, https, ftp, итп)
UriBuilder.Host — возвращает имя домена
UriBuilder.Port — возвращает номер порта
UriBuilder.Path — возвращает путь к файлу на сервере
UriBuilder.Query — возвращает передаваемый методом GET запрос
UriBuilder.Fragment — возвращает строку ссылки на сегмент документа
UriBuilder.UserName — возвращает имя пользователя
UriBuilder.Password — возвращает пароль пользователя

Автор: Кто-то   @   12 февраля 2009 Комментариев: 0
Метки : ,

Поблагодарить автора

Webmoney Z163628999150, R617151845974

Комментариев: 0

Комментариев к этой записи поке нет. Ваш комментарий будет первым.
оставить комментарий

Предыдущая запись
«
Следующая запись
»