Setar Header em uma conexão POST

1 resposta
M

Olá Pessoal,

Estou tentando setar headers em uma conexão POST porém não estou conseguindo…Estou fazendo a conexão na URL de um servlet, porém quando tento pegar o header setado no servlet de destino não obtenho o valor desejado.

Abaixo segue o código que estou usando para realizar a conexão e setar um header:

URL urlObject = new URL(url);

		System.out.println("Proxy: Abrindo conexao.");
		HttpURLConnection connection = (HttpURLConnection) urlObject.openConnection();
		connection.setRequestMethod(request.getMethod());
		
		connection.setDoInput(true);
		connection.setDoOutput(true);

		Enumeration names = request.getParameterNames();

		while (names.hasMoreElements()) {

			name = (String) names.nextElement();
			connection.setRequestProperty(name, request.getHeader("name"));
		}
		
		
// Modifica o valor do header Content-Length
connection.setRequestProperty("Content-Length","500");
		System.out.println("Proxy: Conectando");
		connection.connect();
		
		
		if (request.getMethod().equals("POST")) {
			
			OutputStream os = connection.getOutputStream();
			OutputStreamWriter osw = new OutputStreamWriter(os);

			System.out.println("Proxy: Escrevendo Parametros: " + parameters);
			osw.write(parameters);
			osw.flush();
			
		}

Alguem pode me ajudar com este problema?

Obrigado

t+

1 Resposta

FieroddPJ
while (names.hasMoreElements()) {
         name = (String) names.nextElement();
         connection.setRequestProperty(name, 
                       request.getHeader("name"));
      }

vc quer os headers correspondentes com os nomes obtidos certo?

while (names.hasMoreElements()) {
         name = (String) names.nextElement();
         // sem as aspas aqui
         connection.setRequestProperty(name, 
                       request.getHeader(name));       
      }

veja se funciona :wink:

Criado 20 de abril de 2007
Ultima resposta 20 de abr. de 2007
Respostas 1
Participantes 2