pode me ajudar neste erro:
cookieCaptcha=mCM65vkqmC9Xo2b3Z4G+NE3EY5/Bf2GpY0W6waOS4I4=
{Accept-Charset=[ISO-8859-1,utf-8;q=0.7,*;q=0.7], Cookie=[cookieCaptcha=mCM65vkqmC9Xo2b3Z4G+NE3EY5/Bf2GpY0W6waOS4I4=], Accept=[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8], Referer=[https://servicos.receita.fazenda.gov.br/Servicos/CPF/ConsultaSituacao/ConsultaPublicaSonoro.asp], User-Agent=[Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0], Accept-Language=[pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3], Accept-Encoding=[gzip, deflate], DNT=[1]}
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl
CONSTRUÍDO COM SUCESSO (tempo total: 2 minutos 50 segundos)
Estou usando o Netbeans para isso e não sei como implemento o Https, esse é o código que consegui achar na net
package web;
import java.awt.BorderLayout;
import java.awt.Image;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Date;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class ValidarCpf {
public static void main(String[] args) {
URL url;
HttpURLConnection conn;
try {
//ativarProxy();
//url do captcha
url = new URL("http://www.receita.fazenda.gov.br/scripts/srf/intercepta/captcha.aspx?opt=image&v=" + new Date().getTime());
conn = (HttpURLConnection) url.openConnection();
Image image = ImageIO.read(conn.getInputStream());
//Exibir o captcha
JFrame frame = new JFrame();
JLabel label = new JLabel(new ImageIcon(image));
frame.getContentPane().add(label, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
//entrada do texto do captcha
String idLetras = JOptionPane.showInputDialog("Digite o captcha");
String headerName;
String cookie = "";
frame.dispose();
//capturar o cookie
for (int i=1; (headerName = conn.getHeaderFieldKey(i))!=null; i++) {
if (headerName.equals("Set-Cookie"))
cookie = conn.getHeaderField(i);
}
cookie = cookie.split(";")[0];
System.out.println(cookie);
//url da consulta
url = new URL("https://servicos.receita.fazenda.gov.br/Servicos/CPF/ConsultaSituacao/ConsultaPublicaSonoro.asp");
//url = new URL("http://www.receita.fazenda.gov.br/Aplicacoes/ATCTA/CPF/ConsultaPublicaExibir.asp");
conn = (HttpURLConnection) url.openConnection();
//cria os parametros
String parametros = URLEncoder.encode("txtCPF", "UTF-8") + "=" + URLEncoder.encode("01715789377", "UTF-8");
parametros += "&" + URLEncoder.encode("idLetra", "UTF-8") + "=" + URLEncoder.encode(idLetras, "UTF-8");
//parametros += "&" + URLEncoder.encode("idSom", "UTF-8") + "=";
parametros += "&" + URLEncoder.encode("Enviar", "UTF-8") + "=" + URLEncoder.encode("Consultar", "UTF-8");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setInstanceFollowRedirects(false);
conn.setRequestMethod("POST");
//cookie = "cookieCaptcha=NTB/MXdqZAiFZsfiE5ZRQDJ7h564PBjvwIHdN9cbEog=";
//seta as propriedades de request
conn.setRequestProperty("Host", "www.receita.fazenda.gov.br");
//conn.setRequestProperty("Cookie", URLEncoder.encode(cookie, "UTF-8"));
conn.setRequestProperty("Cookie", cookie);
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0");
conn.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
conn.setRequestProperty("DNT", "1");
conn.setRequestProperty("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
conn.setRequestProperty("Accept-Encoding", "gzip, deflate");
conn.setRequestProperty("Accept-Language", "pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3");
conn.setRequestProperty("Referer", "https://servicos.receita.fazenda.gov.br/Servicos/CPF/ConsultaSituacao/ConsultaPublicaSonoro.asp");
System.out.println(conn.getRequestProperties());
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
wr.writeBytes(parametros);
wr.flush();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String s = "";
String parametroTotal = "";
while (null != ((s = rd.readLine()))) {
System.out.println("0"+s);
if(s.contains("Login")){
parametroTotal = s;
}
}
for (int i=1; (headerName = conn.getHeaderFieldKey(i))!=null; i++) {
System.out.println(headerName + ": " + conn.getHeaderField(i));
if(headerName.equals("Set-Cookie"))
cookie = conn.getHeaderField(i).split(";")[0] +"; "+ cookie;
}
wr.close();
rd.close();
String login = parametroTotal.split("Login=")[1].split("&")[0];
String senha = parametroTotal.split("Senha=")[1].split("\"")[0];
System.out.println(login);
System.out.println(senha);
//começa novo redirecionamento
///
/////
url = new URL("http://www.receita.fazenda.gov.br/Aplicacoes/ATCTA/CPF/ConsultaPublicaExibir.asp");
//url = new URL("http://www.receita.fazenda.gov.br/Aplicacoes/ATCTA/CPF/ConsultaPublicaExibir.asp");
conn = (HttpURLConnection) url.openConnection();
//cria os parametros
parametros = URLEncoder.encode("CPF", "UTF-8") + "=" + URLEncoder.encode("01715789377", "UTF-8");
parametros += "&" + URLEncoder.encode("Login", "UTF-8") + "=" + URLEncoder.encode(login, "UTF-8");
parametros += "&" + URLEncoder.encode("Senha", "UTF-8") + "=" + URLEncoder.encode(senha, "UTF-8");
parametros += "&" + URLEncoder.encode("idLetra", "UTF-8") + "=" + URLEncoder.encode(idLetras, "UTF-8");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setInstanceFollowRedirects(false);
conn.setRequestMethod("GET");
//seta as propriedades de request
conn.setRequestProperty("Host", "www.receita.fazenda.gov.br");
//conn.setRequestProperty("Cookie", URLEncoder.encode(cookie, "UTF-8"));
conn.setRequestProperty("Cookie", cookie);
conn.setRequestProperty("User-Agent", "Chrome");
conn.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
conn.setRequestProperty("DNT", "1");
conn.setRequestProperty("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
conn.setRequestProperty("Accept-Encoding", "gzip, deflate");
conn.setRequestProperty("Accept-Language", "pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3");
conn.setRequestProperty("Referer", "http://www.receita.fazenda.gov.br/Aplicacoes/ATCTA/CPF/ConsultaPublica.asp");
System.out.println(conn.getRequestProperties());
OutputStreamWriter wr2 = new OutputStreamWriter(conn.getOutputStream());
wr2.write(parametros);
wr2.flush();
rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while (null != ((s = rd.readLine()))) {
System.out.println(s);
}
for (int i=1; (headerName = conn.getHeaderFieldKey(i))!=null; i++) {
System.out.println(headerName + ": " + conn.getHeaderField(i));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
O que faço agora @Iohannes