# HttpClient Sonderzeichen



## jiim (6. März 2009)

Guten Tag,

ich hab ein kleines problem mit httpclient. Zwar geht es darum, dass ich in einem Addressbuch ein Kontakt löschen möchte. Soweit so gut. Benutzer hinzufügen, kann ich ohne probleme. Weiss also wie httpclient funktioniert. habe auch die daten gesnifft die im browser übergeben werde und setze alle entsprechenden werte.

Jedoch bei der funktion zum ein benutzer löschen geht es nicht.

nämlich muss ich folgenden parameter übergeben:

del.addParameter("CobYouthAddressbook:dgdAddresses:", "löschen");

Ich denke es liegt am 'ö' im löschen... kann mir jemand weiterhelfen wie ich dies übergeben soll? ich hab schon alles versucht. und dieser parameter muss zwingend übergeben werde, da er die methode zum löschen identifiziert.

den httpclient hab ich auf utf8 eingestellt:

client.getParams().setContentCharset("UTF-8");

ebenfalls hab ich es mit der postmethode versucht...
ich habe versucht das 'ö' mit dem HEX wert aus der ASCII tabelle zu ersetze, hat jedoch auch nicht geholfen... 

vielen Dank für eure hilfe.


----------



## Billie (6. März 2009)

Hm, das kann gut möglich sein... das Ö sieht in UTF-8 anders aus also zB in ISO 8859-1 ...

Wenn du den Traffic gesnifft hast, müsstest du ja sehen mit welchem Encoding dein Browser etc. arbeitet? Oder probier einfach ein anderes Encoding wie ISO 8859-1 ...

Hast du auch die Möglichkeit dir den Request am Server auszugeben?

Evtl. Code-Zeilen wie du die Parameter setzt wären hilfreich, evtl. setzt du zwar ein Encoding, übergibst aber die Strings nicht im entsprechenden Encoding...


----------



## jiim (6. März 2009)

ich hab das mit dem encoding gelöst, es gibt dort eine italienische version, dort hats keine sonderzeichen drin.. 

aber es funktioniert trotzdem nicht.wenn ich über den browser den kontakt-löschen knopf klicke wird der kontakt sofort gelöscht.

wenn ich die selben parameter übergebe im java programm, dann wird er nicht gelöscht.. wenn ich den stream auslese, den ich zurückbekomme. komm ich auf eine seite kontakt verwalten..


----------



## jiim (6. März 2009)

es liegt nun sicher nicht mehr an der codierung, denn mit der italienischen sprache kommen in diesem parameter keine sonderzeichen vor.. 

Weiss vielleicht jmd an was es sonst liegen könnte? ich habe die parameter die ich im browser gesnifft habe ganz sicher korrekt gesetzt. ich habe auch versucht alle header-zeilen äquivalent zum browser zu setzen.  Es funktioniert jedoch trotzdem nicht..

wenn ich im browser auf den löschen knopf klicke, wird einfach die seite neu geladen und der kontakt ist weg. wenn ich in java dies versuche komm ich einfach auf eine seite kontakt verwalten weiter. dort ist dann mein kontakt eingetragen und ich kann kontakt daten ändern und speichern klicken auf dieser seite... 

wie gesag, neue benutzer hinzufügen funktioniert, abrufen funktioniert. es geht alles nur löschen nicht. und ich habs genau gleich gemacht wie bei den anderen funktionen.. 

weiss vielleich jemand an was das liegen könnte? oder wo ich anfangen soll? 

vieloen dank


----------



## Billie (9. März 2009)

Irgendwo muss es ja Unterschiede geben bzw. evtl. fehlt etwas... wie sieht es mit den GET-Parametern aus?

Und hast du evtl. die Möglichkeit von der Server-Seite aus nachzuforschen? Evtl. Access-Logs vergleichen, Logs, etc. ?


----------



## jiim (12. März 2009)

hmm ich brauch doch an diesem ort keine get parameter? ich sende nur den befehl auf die website, dass der gewünschte kontakt gelöscht wird.. das sollten doch alles post sein... dort hab ich alle parameter gesetzt...


----------



## jiim (12. März 2009)

Ich hab noch was herausgefunden, 

bei jedem kontakt den ich löschen will muss der name des buttons auf der website übergeben werden. jeder dieser knöpfe hat eine id.. 
nun die id zum löschen ist am schluss _ld1 und zum ändern wäre es _ld10... 

es nimmt mir jetzt immer automatisch die ändern funktion, obwohl ich nur _ld1 aufrufe.. 

könnte es sein, dass automatisch irgendwie eine null dort am schluss erkannt wird? kann ich das irgendwie verhindern?

 danke nochmals..


----------

