2009-05-04 3 views
5

È possibile inviare un'intestazione Http tramite una connessione URL in java? Ho funzionato usando i socket, ma ho riscontrato problemi con un firewall che non sembra essere un problema con URLConnection. Dall'osservazione dell'API ho l'impressione che i metodi di output in URLConnection siano solo per compilare moduli ecc. O possano essere usati per inviare le mie intestazioni HTTP personali?Come inviare un'intestazione HTTP in java

risposta

10

Il metodo che si desidera è setRequestProperty, ma si consiglia di utilizzare Apache HttpClient. Con questa libreria hai il controllo totale sulla richiesta che vuoi inviare.

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

+0

Sì, httpclient è standard de-facto per accessig HTTP da Java. – stepancheg

+0

Grazie, questo è probabilmente il modo migliore per farlo, ma avrei dovuto menzionare che devo attenermi alle librerie java standard – Simonw

+3

HttpClient va tutto bene, ma non è sempre necessario, e ha chiesto informazioni su URLConnection. E non hai nemmeno menzionato il metodo rilevante, che è HttpMessage.setHeader (http://hc.apache.org/httpcomponents-core/httpcore/apidocs/org/apache/http/HttpMessage.html#setHeader(java.lang .string,% 20java.lang.String)). –