Nicht Prozess-url mit vertikalen und/oder Rohr-bar in Java/Apache HttpClient
Wenn ich Sie Bearbeiten möchten diese url zum Beispiel:
post = new HttpPost("http://testurl.com/lists/lprocess?action=LoadList|401814|1");
Java/Apache wird nicht lassen Sie mich, weil es sagt, dass der vertikale Balken ("|") ist illegal.
vorbei mit Doppel-slashes funktioniert nicht so gut:
post = new HttpPost("http://testurl.com/lists/lprocess?action=LoadList\\|401814\\|1");
^ das funktioniert nicht so gut.
Irgendwelche Vorschläge, wie diese Arbeit zu machen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen mit
URLEncoder.encode()
Hinweis: sollten Sie Kodieren der Zeichenkette, die nach
action=
nichtcomplete URL
Zitat http://docs.oracle.com/javase/7/docs/api/java/net/URLEncoder.html
http://
.Müssen Sie Kodieren
|
in einer URL als%7C
.Überlegen mit HttpClient ist
URIBuilder
die kümmert sich um die Flucht für Sie, z.B.:URIBuilder
.Hatte ich dasselbe problem und ich löse es einbauen der | die für einen codierten Wert von es => %7C und ir funktioniert
Aus diesem
Zu diesem
Kodieren Sie URL-Parameter mithilfe des URLEncoder:
Diese codieren, alle Sonderzeichen, nicht nur die Leitung, für Sie.
In der post, die wir nicht Anhängen, Parameter an url. Folgenden Code fügt und urlEncodes Ihre parameter. Es ist entnommen aus: http://hc.apache.org/httpcomponents-client-ga/quickstart.html