Header HTTP

Pessoal, bom dia.

Eu preciso fazer uma conexão http que se autentica atravez do User-Agent, que fica no header http.
A minha questão é a seguinte: estou utilizando as classe HttpURLConnection e URL do pacote java.net.
Já li a javadoc inteira delas e não achei nada para colocar um header. Na classe HttpURLConnection existe o getHeaderField so que não existe um setHeaderField. A minha questão é a seguinte: Como seu faço para colocar campos no cabaçalho http atravéz de um programa java.

Muito Obrigado,
Abdon

pesquisa a API HttpClient da Jakarta

http://jakarta.apache.org/commons/httpclient/userguide.html

Precisa de alguns JARS porém ela é bem mais completa que a API da Sun, IMHO, e vc pode setar os headers facil facil.

Veja este exemplo

HttpMethod method = new GetMethod("http://...");
method.addRequestHeader("campo","valor");
HttpClient client = new HttpClient();

try{
   int statusCode = client.executeMethod(method);
   System.out.println("HTTP Response" + ((statusCode == HttpStatus.SC_OK) ? "OK" : "NOK"));
				
			InputStream rbas;
			
			if ((rbas = method.getResponseBodyAsStream()) != null) {
					BufferedReader br = new BufferedReader(new InputStreamReader(rbas));

					String s = "";
			        
			        StringBuffer newData = new StringBuffer(10000);

			        while (null != ((s = br.readLine()))) {
			            newData.append(s);
			        }
			        
			        br.close();
			        
			        String body = new String(newData);
			}
				        
	       String statusLine = method.getStatusLine().toString();
	        
	       Header [] ResponseHeaders = method.getResponseHeaders();
} catch (HttpException e) {
 ...
} catch (IOException e) {
 ...
}finally {

	method.releaseConnection();
}