Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mo Jul 07, 2025 08:24

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: System.Uri Escaped falsch
BeitragVerfasst: Fr Jan 25, 2008 11:10 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Servus,

ich hab hier grad das problem, das URL´s (Files) welche ich .net 2.0 runterladen will, falsch escaped werden.
Ich bau mir eine url aus folgenden komponenten zusammen:

"http://yadDevVMII/eRoom/bla/OEXFileDownloadTest"
"/\/ rofl ^^ :D/isetup-5.2.2.exe"

Wenn ich diese zusammen füge, kommt das raus:

"http://yadDevVMII/eRoom/bla/OEXFileDownloadTest/\/ rofl ^^ :D/isetup-5.2.2.exe"

Die url ist folgendermassen aufgeteilt:

"http" :// "yadDevVMII" / "eRoom" / "bla" / "OEXFileDownloadTest" / "\/ rofl ^^ :D" / "isetup-5.2.2.exe"
("\/ rofl ^^ :D" = Ordnername)

Wenn ich diese komplette url über den URI Builder jage, dann bekomm ich folgendes ergebnis:

"http://yaddevvmii/eRoom/bla/OEXFileDownloadTest///%20rofl%20%5E%5E%20:D/isetup-5.2.2.exe".

welches weder mit IE oder firefox akzeptiert wird und ich nur eine Leere datei bekomme.

Packe ich allerdings die "nicht escapete" url in den firefox "http://yadDevVMII/eRoom/bla/OEXFileDownloadTest/\/ rofl ^^ :D/isetup-5.2.2.exe", dann bekomm ich eine 100% korrekte datei zurück.


Mein problem ist nun, das ich es hinkriegen muss das eine 100% korrekte URI aus meiner quellurl erstellt wird, da dieses WebClient von .NET 2.0 auf IE basiert anscheinend.


Was ich schon versucht habe ist jede funktion in "System.Web.HttpUtility" sowie "System.Uri".
Nichts davon bringt mich ansatzweise an ein ergebniss.


Wäre dankbar für jeden vorschlag


Gruß,
Final


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 25, 2008 14:11 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Escape halt die Teile die es nötig haben von Hand:
Code:
  1.  
  2. result:='';
  3. for i:=1 to length(param)do
  4.   if param[i]in['0'..'9','A'..'Z','a'..'z','-','_','.']
  5.     then result:=result+param[i]
  6.     else result:=result+'%'+inttohex(ord(param[i]),2);
  7.  

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 25, 2008 17:13 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Das hauptproblem ist das hier "\/", das backslash ist der escaper, der automatisch schon da ist.
Und schon das escape davon fehlschlägt.

Ich hab das leider noch nichtmal von hand hinbekommen, und wieso der firefox das einfach frisst ist mir immernoch nen rätsel O_o


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 08, 2008 14:10 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Egal was ich versuch, es geht nicht.
Von hand escapen ist tödlich, da .NET dann selbst die % nach sonst was escaped O_o

Ich bräuchte hier echt paar lösungsansätze, ich tippe da ganz stark auf nen bug seitens .net 2.0.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 21, 2008 13:28 
Offline
DGL Member

Registriert: Do Apr 22, 2004 10:04
Beiträge: 16
Wohnort: Berlin
Ich hoffe es ist noch nicht zu spät....

aber wenn ich mich richtig entsinne, dann ist es bei c# so, dass das "\" ein Sonderzeichen ist wenn du das "\" brauchst dann schreib "\\" dann haste es drin...

wenn es dann noch immer nicht geht schreib mich an ich finde dann bestimmt noch ne andere möglichkeit

:D

MfG
Michbeck


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 18, 2008 19:58 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Nope, das war in VB.net. Ich weiss ist das grauen, aber ich kanns mir halt in der firma nicht aussuchen -.-


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]