2009-05-04 9 views
5

Ist es möglich, einen HTTP-Header über eine URL-Verbindung in Java zu senden? Ich hatte dies funktioniert mit Sockets, aber lief auf Probleme mit einer Firewall, die kein Problem mit URLConnection scheinen. Beim Betrachten der API habe ich den Eindruck, dass die Ausgabemethoden in URLConnection nur zum Ausfüllen von Formularen usw. dienen, oder können sie verwendet werden, um eigene HTTP-Header zu senden?Wie man einen HTTP-Header in Java sendet

Antwort

10

Die Methode, die Sie wollen, ist SetRequestProperty, aber ich würde Apatches HttpClient empfehlen. Mit dieser Bibliothek haben Sie vollständige Kontrolle über die Anfrage, die Sie senden möchten.

http://hc.apache.org/httpclient-3.x/tutorial.html

+0

Ja, Httpclient ist de-facto-Standard für accessig HTTP aus Java. – stepancheg

+0

Danke, das ist wahrscheinlich der beste Weg, es zu tun, aber ich hätte erwähnt, dass ich an den Standard-Java-Bibliotheken bleiben muss – Simonw

+3

HttpClient ist alles gut in gut, aber es ist nicht immer notwendig, und er fragte nach URLConnection. Und Sie haben nicht einmal die relevante Methode erwähnt, nämlich HttpMessage.setHeader (http://hc.apache.org/httpcomponents-core/httpcore/apidocs/org/apache/http/HttpMessage.html#setHeader(java.lang .String,% 20java.lang.String)). –