Frage

Wie kann ich mehrere Antrag tue in einer HttpURLConnection mit Java?

 URL url = new URL("http://my.com");
 HttpURLConnection connection = (HttpURLConnection)url.openConnection();
 HttpURLConnection.setFollowRedirects( true );
 connection.setDoOutput( true );
 connection.setRequestMethod("GET"); 

 PrintStream ps = new PrintStream( connection.getOutputStream() );
 ps.print(params);
 ps.close();
 connection.connect();
 //TODO: do next request with other url, but in same connection

Danke.

War es hilfreich?

Lösung

Von der Javadoc:

  

Jede HttpURLConnection Instanz wird verwendet, um einen einzigen Antrag zu stellen.

Die Aufgabe offenbar nicht dazu gedacht, wiederverwendet zu werden.

Abgesehen von einem kleinen Speicher Dreschen und Ineffizienz, gibt es kein großes Problem mit einer Öffnung HttpURLConnection für jede Anfrage Sie machen wollen. Wenn Sie in einem größeren Maßstab effizientes Netzwerk IO wollen, obwohl, du bist besser dran eine Fachbibliothek mit wie Httpclient .

Andere Tipps

über die richtige Antwort, vielleicht, was Sie wirklich wollen, ist die Wiederverwendung der zugrunde liegenden TCP-Verbindung, auch bekannt als „persistente Verbindungen“, die in der Tat von JDK unterstützt werden HttpURLConnection. So dass Sie nicht aus diesem Grund verwenden, um andere http Libs müssen; obwohl es andere legitime Grund sind, möglicherweise Leistung (aber nicht notwendigerweise, hängt von Anwendungsfall, Bibliothek).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top