Text mit Zeilenumbruch und Leerzeichen in URL

  • Antworten:3
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 1

08.05.2016, 19:33:15 via Website

hiho

ich bastel derzeit an einer app (java/android-sdk) und möchte eine userbeschreibung einfügen bzw habe diese bereits eingefügt.

mein problem ist jedoch, das die eingegebene beschreibung via get per url an ein php script gesendet werden muss und umbrüche sowie leerzeichen oder sonderzeichen in dem fall probleme bereiten.

wie kann ich demnach den eingegebenen text an meinen server übergeben ohne das es zu entsprechenden problemen führt?

beispiel:

eingegebener_Text = "das ist eine userbeschreibung mit
zeilenumbruch";

String url = "meineurl.de/meinephpdatei.php?text=" + eingegebener_Text;

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.165

08.05.2016, 19:53:10 via Website

Hallo ATZENPOWER,
Herzlich wilkommen hier im Forum :)



Text per HTTP GET zu "verschicken" ist immer problematisch.
Entweder du machst ein urlEncode z.b. mit

string encoded = UrlEncoder.encodeString(myString,"utf-8");
String url = "meineurl.de/meinephpdatei.php?text=" + encoded;

Besser ist jedoch du ersparst dir das Encoden und schickst deinen Text per HTTP Post an das Skript, da musst du nichts encoden etc..
Zudem sind get URLs auf 255 Zeichen beschränkt, d.h. dein Text darf nicht länger als 230 +/- Zeichen haben.

Also stell das Skript und die HTTP Methode auf Post um und du solltest damit keine Probleme haben.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
  • Forum-Beiträge: 636

09.05.2016, 09:32:56 via App

Guten Morgen,
ein kleiner Hinweis:
Das Limit von 255 Character bei URLs ist nicht mehr ganz aktuell.
http://stackoverflow.com/a/417184/1773371

Liegt daran was für ein Server die Anfragen entgegen nimmt. Bei Apache 2 sind z. B. default 8190 Character möglich.
http://httpd.apache.org/docs/2.0/mod/core.html#limitrequestline

Gruß,
Markus

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.165

09.05.2016, 09:48:27 via App

Danke, liegt dann aber an der Servereinruchtung, auf welche man nicht immer zugriff hat

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten

Empfohlene Artikel