Você está aqui: Java ::: Pacote java.net ::: HttpURLConnection |
Usando um objeto da classe HttpURLConnection para enviar dados a uma página PHP, JSP, ASP.NET, etc, usando o método POSTQuantidade de visualizações: 5967 vezes |
Em algumas situações gostaríamos de enviar uma solicitação HTTP do tipo POST a uma página PHP, JSP, ASP.NET, etc, a partir de nossos programas Java. Para isso podemos usar um objeto da classe HttpURLConnection. Para este exemplo eu mostrarei como enviar uma requisição POST para uma página PHP. Comece analisando o código para o documento somar.php: <?php // obtém o primeiro valor $a = (int)$_POST["a"]; // obtém o primeiro valor $b = (int)$_POST["b"]; // vamos somar e mostrar o resultado $soma = $a + $b; echo "A soma dos dois números é: " . $soma; ?> Este código PHP não apresenta muitos segredos: obtemos dois números passados via POST, efetuamos a soma dos dois e escrevemos o resultado na página. Veja agora o código completo para a aplicação Java: package estudos; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; public class Estudos { public static void main(String[] args) { String n1 = "9", n2 = "23"; URL url; HttpURLConnection connection = null; BufferedReader in = null; DataOutputStream out = null; try { // vamos montar o conteúdo a ser enviado String dados = "a=" + URLEncoder.encode(n1, "UTF-8"); dados += "&b=" + URLEncoder.encode(n2, "UTF-8"); url = new URL("http://www.arquivodecodigos.net/somar.php"); // vamos efetuar a conexão à URL especificada connection = (HttpURLConnection)url.openConnection(); // vamos habilitar a escrita na URLConnection connection.setDoOutput(true); // vamos nos conectar usando o método POST connection.setRequestMethod("POST"); // aqui nós definimos o tipo da requisição connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // vamos enviar os dados out = new DataOutputStream( connection.getOutputStream()); out.writeBytes(dados); out.flush(); out.close(); // vamos obter o retorno da conexão String linha; in = new BufferedReader(new InputStreamReader(connection.getInputStream())); while((linha = in.readLine()) != null) { System.out.println(linha); } } catch (MalformedURLException ex) { System.out.println("A URL está mal formada: " + ex.getMessage()); } catch (IOException ex) { System.out.println("Não foi possível efetuar a conexão: " + ex.getMessage()); } finally { if(out != null) { try { out.close(); } catch (IOException ex) { System.out.println("Não consegui fechar o stream de entrada: " + ex.getMessage()); } } if(in != null) { try { in.close(); } catch (IOException ex) { System.out.println("Não consegui fechar o stream de saída: " + ex.getMessage()); } } connection.disconnect(); } } } Ao executar o programa, teremos uma mensagem no console parecida com: A soma dos dois números é: 32 |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Python - Datas e horas em Python - Como obter a hora como um decimal no intervalo 00-12 (formato 12 horas) Delphi - Como converter strings em valores TDateTime usando as funções StrToDate() e StrToDateDef() do Delphi |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |