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
line = reader.readLine();
while (line != null)
{
page += line + "
}
catch(Exception e)
{
System.out.println(e);
}
