В 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 — возвращает пароль пользователя
|
|
Webmoney Z163628999150, R617151845974
|