Ich mag einen HTML-String mit einer GET-Anforderung wie diese mit Apachen senden Httpclient:Wie HTML als GET-Request-Parameter senden?
http://sample.com/?html=<html><head>...
Dies funktioniert nicht im Moment, ich denke, sein eine Codierung Problem. Hast du irgendwelche Ideen wie das geht?
method.setQueryString(new NameValuePair[] {new NameValuePair("report", "<html>....")});
client.executeMethod(method)
Dies schlägt mit org.apache.commons.httpclient.NoHttpResponseException: The server localhost failed to respond
fehl. Wenn ich "<html>"
durch "Test .." ersetze, funktioniert es gut.
EDIT
Es scheint, ein Problem der URL-Länge nach der Codierung, der Server tut, außer eine solche lange URLs zu sein. Senden als POST löst das Problem.
Danke. Jetzt sieht die Zeichenfolge verschlüsselt aus, aber der Server reagiert nicht darauf. Das gleiche im Browser manuell zu tun, tun Sie nichts. Gibt es eine URL-Längenbeschränkung, die in Webservern üblich ist? – Mork0075
@ Mork0075 Die HTTP-Spezifikation erwähnt keine Längenbeschränkungen, aber wenn Sie ein wenig googeln, finden Sie, dass Browser- und Serverimplementierung unterschiedliche Längenbeschränkungen auferlegen, also ist es sicherlich etwas zu berücksichtigen. – Daan
Ich habe ein Delta-Debugging durchgeführt und nach dem Zuschneiden der Zeichenfolge auf etwas um 2000 Zeichen funktioniert es. Aber ich würde gerne Informationen auf dem Server speichern, die das übersteigt. Hast du irgendwelche Ideen? – Mork0075