November 2008

System.Uri-Klasse (URL) als Beispiel

Die Dokumentation der Uri-Klasse in .Net ist nicht gerade besonders gut. Z.B. geht daraus nicht eindeutig hervor, ob Uri.Schema nun das Protokoll oder das Protokoll inc. Doppelpunkt liefert. Deswegen hier nun ein Zusammenfassung ueber alle wichtigen Eigentschaften einer Uri am Beispiel.

https://user:pass@example.org:80/page.html?param=value

PropertyValue
AbsolutePath/page.html
AbsoluteUrihttps://user:pass@example.org:80/page.html?param=value
Authorityexample.org:80
DnsSafeHostexample.org
Fragment
Hostexample.org
IsAbsoluteUriTrue
IsDefaultPortFalse
IsFileFalse
IsLoopbackFalse
IsUncFalse
IsWellFormedOriginalStringTrue
LocalPath/page.html
OriginalStringhttps://user:pass@example.org:80/page.html?param=value
PathAndQuery/page.html?param=value
Port80
Query?param=value
Schemehttps
==Segments[0]==/
==Segments[1]==page.html
ToStringhttps://user:pass@example.org:80/page.html?param=value
UserEscapedFalse
UserInfouser:pass

file:C:/File.txt

PropertyValue
AbsolutePathC:/File.txt
AbsoluteUrifile:///C:/File.txt
Authority
DnsSafeHost
Fragment
Host
IsAbsoluteUriTrue
IsDefaultPortTrue
IsFileTrue
IsLoopbackTrue
IsUncFalse
IsWellFormedOriginalStringFalse
LocalPathC:\File.txt
OriginalStringfile:C:/File.txt
PathAndQueryC:/File.txt
Port-1
Query
Schemefile
==Segments[0]==/
==Segments[1]==C:/
Segments[2]File.txt
ToStringfile:///C:/File.txt
UserEscapedFalse
UserInfo

ftp://127.0.0.1/file.txt

PropertyValue
AbsolutePath/file.txt
AbsoluteUriftp://127.0.0.1/file.txt
Authority127.0.0.1
DnsSafeHost127.0.0.1
Fragment
Host127.0.0.1
IsAbsoluteUriTrue
IsDefaultPortTrue
IsFileFalse
IsLoopbackTrue
IsUncFalse
IsWellFormedOriginalStringTrue
LocalPath/file.txt
OriginalStringftp://127.0.0.1/file.txt
PathAndQuery/file.txt
Port21
Query
Schemeftp
==Segments[0]==/
==Segments[1]==file.txt
ToStringftp://127.0.0.1/file.txt
UserEscapedFalse
UserInfo

(originally posted on 2008-11-03)