Mit Apache commons-httpclient für Java, was ist der beste Weg, Abfrageparameter zu einer GetMethod-Instanz hinzuzufügen? Wenn ich PostMethod bin mit, es ist sehr einfach:Wie füge ich einem GetMethod Abfrageparameter hinzu (mit Java commons-httpclient)?
PostMethod method = new PostMethod();
method.addParameter("key", "value");
GetMethod keine "addParameter" -Methode hat, though. Ich habe entdeckt, dass dies funktioniert:
GetMethod method = new GetMethod("http://www.example.com/page");
method.setQueryString(new NameValuePair[] {
new NameValuePair("key", "value")
});
jedoch die meisten der Beispiele, die ich gesehen habe, entweder hart Code die Parameter direkt in die URL, zB:
GetMethod method = new GetMethod("http://www.example.com/page?key=value");
oder schwer Code der Abfragezeichenfolge, zB:
GetMethod method = new GetMethod("http://www.example.com/page");
method.setQueryString("?key=value");
Ist eines dieser Muster zu bevorzugen? Und warum die API-Diskrepanz zwischen PostMethod und GetMethod? Und wozu dienen alle anderen HttpMethodParams-Methoden?
Ich entdeckte, dass dies funktioniert: GetMethod Methode = new GetMethod ("http://www.beispiel.de/seite"); method.setQueryString (new NameValuePair [] { new NameValuePair ("Schlüssel", "Wert") }); Dies wird jedoch nicht auf der Tutorial-Seite erwähnt. Sollte dieses Muster vermieden werden? – Ross
Hm, anscheinend können Sie keine Code-Blöcke in Kommentare setzen, also habe ich meine Frage bearbeitet, um dieses Beispiel und andere hinzuzufügen. – Ross