Entwickler-Ecke

Basistechnologien - URL-Anpassung in Spalte mit C#


Vegeto - Fr 21.06.13 09:14
Titel: URL-Anpassung in Spalte mit C#
Grüßt euch :)

Hoffe jeden geht es heute gut :D

Naja ich stelle einfach mal mein Problem und hoffe jemand kann mir weiter helfen :)

Ist es möglich wenn ich von einem Tabelle eine URL nehme sagen wir http://www.entwickler-ecke.de, wie kann ich diesen mittels C# in solch eine URL ändern : entwickler-ecke.de ?
Also es soll kein http oder www anstehen.

Ich hoffe ihr versteht mein anliegen und hoffe das mir jemand helfen kann :)

Lg


Moderiert von user profile iconTh69: Topic aus Datenbanken (inkl. ADO.NET) verschoben am Fr 21.06.2013 um 11:26


Th69 - Fr 21.06.13 11:24

Hallo Vegeto,

schau dir mal die Uri-Klasse [http://msdn.microsoft.com/de-de/library/vstudio/system.uri.aspx] an.


Vegeto - Fr 21.06.13 11:47

Danke sehr, lese mich rein.

Beim Problem melde ich mich.

Vielen Dank^^


Vegeto - Fr 21.06.13 13:29

habe ich getest und hat funktioniert danke :)

Leider gibt er nicht genau das so raus wie ich das wollte habe es dann mit Remove gelöst.

Bsp.:

C#-Quelltext
1:
2:
3:
Uri uri = new Uri(http://www.entwickler-ecke.de/posting.php?mode=reply&t=111721) // hier wollte ich dann nur entwickler-ecke.de !!
Console.WriteLine(uri.uri.DnsSafeHost); // so bekommt man www.entwickler-ecke.de raus.
Console.WriteLine(uri.DnsSafeHost.Remove(0,4)); // und so kommt das raus was ich wollte :D


habe am anfang versucht mit TrimStart zu arbeiten, doch wenn die Internet seite mit w anfängt wird dies auch weg geschnitten.

Lg

DANKE


Vegeto - Fr 21.06.13 14:45

Weiß jmd zufällt wie ich das machen kann das er auch www.entwickler-ecke.de/posting.php?mode=reply&t=111721, als URi erkennt,
denn sonst kommt immer ein Fehler, da es sich dabei um eine URi handelt.

Lg

Moderiert von user profile iconChristian S.: Code-Tags hinzugefügt


Ralf Jansen - Fr 21.06.13 15:00

Die Uri Klasse sollte damit keine Probleme haben. Zeig mal den konkreten Fehler und den Aufruf mit dem konkret benutzten String.


Vegeto - Mo 24.06.13 10:00

Hi

So füllen ich das ganze

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
Uri url = null;


while (urlReader.Read())
{
if (!urlReader.IsDBNull(0))
// in der Datenbank ist der Datensatz: www.testURL.de
url = new Uri(Convert.ToString(urlReader[0])); // Fehler: Ungültiger URI: Das URI-Format konnte nicht bestimmt werden.
}


Ich hoffe ihr könnt mir helfen :)

Lg

edit: habe es testweise in eine Konsolenapplikation gepackt:

C#-Quelltext
1:
2:
3:
4:
Uri test = new Uri("www.entwickler-ecke.de");
Console.WriteLine(test.AbsolutePath);

//Fehler: Ungültige URI: Das URI-Format konnte nicht bestimmt werden.


Ralf Jansen - Mo 24.06.13 11:01

Das ist keine URI sondern nur ein DNS Name. Zu einer URI gehört zwingend das Protokol/Schema.

Um auf dein ursprüngliches Problem zurückzukommen. Wofür soll das gut sein? In der EE verweisen der Name mit und ohne www auf die gleiche Seite das ist aber nur eine gern benutzte Konvention im Web. Es sind eigentlich zwei grundsätzlich verschiedene DNS Namen die auch auf verschiedene Dinge zeigen könnten. Wo ist also der Sinn einfach mal das www wegzunehmen?


Vegeto - Mo 24.06.13 11:34

Hi Ralf Jansen :)

boah, die Frage kann ich dir nicht beantworten :/ ich habe die anweisung bekommen, dass er das so abspeichern soll, ohne http oder ohne www.
Und ich habe es geschafft :D

Mit einem sql reader überprüfen womit die Zelle beginnt und je nach bedarf ab ändern :D

Naja Viel Dank für euere Hilfe.

und an der Stelle ein Riesen Dank an dich Ralf Jansen.

Stehst mir immer mit rat und tat zur seite und du hilfst mir enorm :D

Danke


jfheins - Mo 24.06.13 13:01

Das mit dem www entfernen ist aber wirklich grenzwertig :!:

http://ipv6.google.com/ geht nur ohne www.
http://www.rwth-aachen.de/ geht nur mit www.

Und del.icio.us geht dann sowohl als auch...