Artigo Java Magazine 29 - Clientes Web com HttpClient
Nesta edição veremos como utilizar o método POST para enviar formulários e arquivos, além de outros recursos fundamentais, como o gerenciamento de cookies e a manipulação de cabeçalhos.
Clique aqui para ler esse artigo em PDF.
Clientes Web com HttpClient
Parte 2: POST, Arquivos, Cabeçalhos e Cookies
Concluindo a série sobre o HttpClient, conheça com muitos exemplos, os recursos para submeter formulários, enviar arquivos e gerenciar cookies e cabeçalhos
Na primeira parte desta série apresentamos os conceitos básicos da API HttpClient e o uso do método HTTP GET. Nesta edição veremos como utilizar o método POST para enviar formulários e arquivos, além de outros recursos fundamentais, como o gerenciamento de cookies e a manipulação de cabeçalhos.
GET versus POST
Quando usamos o método GET do HTTP, as informações são enviadas diretamente na URL, sendo codificados e incluídos ao final da URL, na parte chamada query-string. No entanto, há muitos casos em que requisições GET não são adequadas. O tamanho da query-string é limitado quanto ao total de caracteres, e só é possível enviar informações textuais. Outra questão é relacionada à segurança. Passar via GET dados sigilosos como senhas ou números de cartão de crédito expõe esses dados na URL. E mesmo que a URL seja ocultada, por exemplo com o uso de frames escondidos, os dados geralmente ficam registrados no log de visitas do servidor web ou de um proxy/firewall, deixando as informações acessíveis para qualquer um que tenha acesso a esses logs.
Para reduzir a exposição dos dados, e para enviar dados binários ou textos longos, será necessário usar o método POST do HTTP.
Envio básico via POST
Com o método POST é possível enviar um tamanho praticamente ilimitado de informações ao servidor. POST é o método HTTP mais usado na submissão de formulários HTML.
Para que POST realmente seja usado ao submeter o formulário HTML, deve ser especificado method=”post” no tag . Caso contrário, será usado GET para submeter os dados (que são codificados e anexados à URL pelo próprio navegador web).
Através do método POST, também é possível enviar arquivos binários ao servidor. Com o HttpClient, usamos a classe PostMethod, que fornece funcionalidades variadas para a manipulação de parâmetros HTTP no corpo de uma requisição.
Três métodos permitem adicionar parâmetros: as sobrecargas addParameter(NameValuePair par) e addParameter(String nomeParam, String valorParam) definem um parâmetro por vez. Já addParameters(NameValuePair[] params) recebe um array de pares nome-valor. Para alterar o valor de um parâmetro já adicionado, usa-se setParameter(NameValuePair par). Caso o parâmetro, (identificado pelo nome) não for encontrado ele é adicionado; se for, ele é substituído com o valor fornecido. Por fim, o método " [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo