1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Problemas ao fazer requisição post em https (android)

Olá Pessoal, Estou fazendo meu tcc, mas me deparei com um pequeno problema. Já procurei no google, mas não encontrei nada claro que eu pudesse entender para resolver o problema.

Estou tentando fazer login em um site através de um app, como o site não tem api, estou fazendo isso direto com java. Mas quando rodo meu código, me deparo com o seguinte erro:

javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found

Alguém pode me ajudar com isso?

Minha classe é essa:

public class HttpRequest extends AsyncTask<String, Void, Void> {

    @Override
    protected Void doInBackground(String... params) {
        try {

            URL url = new URL("https://www.tripulanteaims.tam.com.br/wtouch/private.exe/verify");

            HttpsURLConnection connection = (HttpsURLConnection)url.openConnection();
            String urlParameters = "";
            connection.setRequestMethod("POST");
            connection.setRequestProperty("USER-AGENT", "Mozilla/5.0");
            connection.setRequestProperty("ACCEPT-LANGUAGE", "en-US,en;0.5");
            connection.setDoOutput(true);
            DataOutputStream dStream = new DataOutputStream(connection.getOutputStream());
            dStream.writeBytes(urlParameters);
            dStream.flush();
            dStream.close();
            int responseCode = connection.getResponseCode();
            final StringBuilder output = new StringBuilder("Request URL " + url);
            output.append(System.getProperty("line.separator") + "Request Parameters " + urlParameters);
            output.append(System.getProperty("line.separator") + "Response Code " + responseCode);
            BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line = "";
            StringBuilder responseOutput = new StringBuilder();
            while((line = br.readLine()) != null ) {
                Log.d("Http Post Response:", line);
                responseOutput.append(line);
            }
            br.close();

            output.append(System.getProperty("line.separator") + "Response " + System.getProperty("line.separator") + System.getProperty("line.separator") + responseOutput.toString());



        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            Log.d("Http Post Response:", "erro 1 "+e);
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            Log.d("Http Post Response:", "erro 2 "+e);
            e.printStackTrace();
        }
        return null;
    }
}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags https java android login ou faça a sua própria pergunta.