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.;
import java.awt.event.;
import javax.swing.;
import java.lang.;
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 java.net.;
import javax.net.SocketFactory;
import javax.net.ssl.;
import com.sun.net.ssl.;
import java.io.;
import java.security.;
import java.lang.;
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”);
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[/code]
