Erro ao tentar se conectar com site HTTPS

1 resposta
M

Olá amigos(as), tenho um código para acessar um site HTTPS através de socket, mas estou tendo problemas, aqui esta o código das duas classes que estou usando:

Classe : JFrameCap

import java.awt.<em>;

import java.awt.event.</em>;

import javax.swing.<em>;

import java.lang.</em>;
public class JFrameCap extends JFrame implements ActionListener

{

public JFrameCap()

{

initComponents();		

}

private void initComponents()

{

jButton1=new javax.swing.JButton();
getContentPane().setLayout(null);
	setTitle("Captura Dados");
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setSize(150,110);
	Dimension d=Toolkit.getDefaultToolkit().getScreenSize();
	setLocation((d.width-600)/2,(d.height-320)/2);
	setResizable(false);
	
	jButton1.setText("Disparar");
	jButton1.setToolTipText("Capturar algum valor do site https");
	getContentPane().add(jButton1);
	jButton1.setBounds(20,20,90,26);
	jButton1.addActionListener(this);		
}
public void actionPerformed(ActionEvent e)
{
	if (e.getSource()==jButton1)
	{				
		setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
		ConnectURLHTTPS ce = new ConnectURLHTTPS("https://www.superbroker.com.br/operacional/superbroker_cliente.asp");
		setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
		System.out.println("Fim");
	}		
}	
public static void main(String args[])
{
	JFrame.setDefaultLookAndFeelDecorated(true);
	JDialog.setDefaultLookAndFeelDecorated(true);
	new JFrameCap().show();		
}
    private JButton jButton1;

}
e a Classe ConnectURLHTTPS :
import <a href="http://java.net">java.net</a>.<em>;

import javax.net.SocketFactory;

import javax.net.ssl.</em>;

import com.sun.net.ssl.<em>;

import <a href="http://java.io">java.io</a>.</em>;

import java.security.<em>;

import java.lang.</em>;
import java.io.FileWriter;

import javax.swing.*;
public class ConnectURLHTTPS

{
private String page;

private BufferedWriter bw;
ConnectURLHTTPS(String url)

{

Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

System.setProperty(java.protocol.handler.pkgs,com.sun.net.ssl.internal.www.protocol);
<pre><code>  try 
  { 
      
   
     String line = "",
     		page = "";
     int    port = 443;            
             
     URL server = new URL(url);         
   
     // Connect to the server using an SSL socket 
     SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();          
     SSLSocket socket = (SSLSocket) factory.createSocket(page,port); 
     System.out.println("socket criado"); 
     //Socket socket = new Socket(proxy,Integer.parseInt(port)); 
     Writer writer = new OutputStreamWriter(socket.getOutputStream(),"US-ASCII"); 
     writer.write("GET " + server.toExternalForm() + " HTTP/1.1
"); writer.write("Host: " + server.getHost() + ":443 "); writer.write(“User-Agent: Java HTTPS Client”); writer.flush(); BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(),“US-ASCII”));
line = reader.readLine(); 
      
     while (line != null) 
     { 
        page += line + "
"; line = reader.readLine(); } /int ultimo=page.indexOf("O BB não envia "); String ultimos=page.substring(ultimo+15,ultimo+21); BufferedWriter bw = new BufferedWriter(new FileWriter(“c:\Dados.txt”)); bw.write(ultimos); bw.close();/ reader.close(); writer.close(); socket.close();
} 
  catch(Exception e) 
  { 
     System.out.println(e); 
  }
} } e quando peço para executar a classe JFrameCap o Java me retorna a seguinte mensagem de erro : java.net.ConnectException: Connection refused: connect Se alguém puder me ajudar, agradeço desde já, 1 abraço

1 Resposta

_fs

Opa cara, boa noite!

Seguinte, clica no ‘pesquisar’ ali em cima, e procura por ‘https’.
Algumas pessoas já tiveram problemas similares aos seus não faz muito tempo :smiley:

ps.: quando for postar código, coloque-o entre as tags [ code]seucodigo[ /code], assim ele fica endentado ;D

Criado 25 de agosto de 2004
Ultima resposta 26 de ago. de 2004
Respostas 1
Participantes 2