Acessar dados de uma página

Olá pessoal

Alguém sabe me dizer como é que faço por exemplo pra acessar uma lista de produtos de uma página… tenho essa classe … que é digamos um ponta-pé inicial… por favor se alguém puder me ajudar fico extremamente grata… é urgente!!!

import javax.microedition.midlet.;
import javax.microedition.io.
;
import javax.microedition.lcdui.;
import javax.microedition.pki.
;

import java.io.*;

import java.util.*;

public class HTTP extends MIDlet implements CommandListener,Runnable {

private Command sair = new Command(“Sair”, Command.EXIT, 0);
private Command buscar = new Command(“Buscar”, Command.SCREEN, 1);
private Command cabecalho=new Command(“Cabeçalho”, Command.SCREEN, 2);
// private Command voltar=new Command(“Voltar”,Command.SCREEN,0);
private Form formulario= new Form(“Busca Página”);
private TextField tf=new TextField(“Digite a página desejada”,"",60,TextField.ANY);
private TextBox t;
private Display display;
private String url;/=“http://www.cefetce.br//
private Command currentCommand;
private Thread commandThread;

public HTTP(){
display = Display.getDisplay(this);
}

static final void DEBUG(String s) {
if (true) {
System.out.println(s);
}
}

public void startApp() {
mainScreen();

}

void mainScreen() {
formulario.addCommand(sair);
formulario.addCommand(buscar);
formulario.addCommand(cabecalho);
formulario.append(tf);
display.setCurrent(formulario);
formulario.setCommandListener(this);
/* url=new String();
url=tf.getString();*/
}

private String time2str(long time) {
Calendar c = Calendar.getInstance(TimeZone.getTimeZone(“GMT”));
c.setTime(new Date(time));
return c.toString();
}

private void readContents(String request) {
StringBuffer b = new StringBuffer();
url=new String();
url=tf.getString();
b.append(" content of "+ request + " " + url + “\n”);
HttpConnection c = null;
OutputStream os = null;
InputStream is = null;
TextBox t = null;

try {
    long len = -1;
    int ch = 0;
        long count = 0;
        int rc;

        DEBUG(request + " Page: " + url); 
        c = (HttpConnection)Connector.open(url);
        DEBUG("c= " + c);

        c.setRequestMethod(request);

        c.setRequestProperty("foldedField",
             "first line\r\n second line\r\n third line");

        if (request == HttpConnection.POST) {
            String m = "Test POST text.";
            DEBUG("Posting: " + m);
            os = c.openOutputStream();
            os.write(m.getBytes());
            os.close();
        }

        rc = c.getResponseCode();
        if (rc != HttpConnection.HTTP_OK) {
            b.append("Response Code: " + c.getResponseCode() + "\n");
            b.append("Response Message: " + c.getResponseMessage() +
                     "\n\n");
        }

    is = c.openInputStream();

        DEBUG("is = " + is);
        if (c instanceof HttpConnection) {
            len = ((HttpConnection)c).getLength();
        }
        DEBUG("len = " + len);
    if (len != -1) {
	    DEBUG("Content-Length: " + len);

	for (int i = 0; i < len; i++) {
	    if ((ch = is.read()) != -1) {
		if (ch <= ' ') {
                        ch = ' ';
                    }
		b.append((char) ch);
                    count ++;
                    if (count > 200) {
                        break;
                    }
	    }
            }
    } else {
            byte data[] = new byte[100];
            int n = is.read(data, 0, data.length);
            for (int i = 0; i < n; i++) {
                ch = data[i] & 0x000000ff;
	    b.append((char)ch);
	}
    }
    try {
            if (is != null) {
                is.close();
            }
            if (c != null) {
                c.close();
            }
    } catch (Exception ce) {
	DEBUG("Error closing connection");
    }

    try {
	len = is.available();
	DEBUG("Inputstream failed to throw IOException after close");
    } catch (IOException io) {
            DEBUG("expected IOException (available())");
            io.printStackTrace();
	// Test to make sure available() is only valid while
	// the connection is still open.,
    }

    t = new TextBox("Http Test", b.toString(), b.length(), 0);
        is = null;
        c = null;
} catch (IOException ex) {
        ex.printStackTrace();
        DEBUG(ex.getClass().toString());
        DEBUG(ex.toString());
    DEBUG("Exception reading from http");
    if (c != null) {
	try {
	    String s = null;
                if (c instanceof HttpConnection) {
                    s = ((HttpConnection)c).getResponseMessage();
                }
	    DEBUG(s);
	    if (s == null)
		s = "No Response message";
	    t = new TextBox("Http Error", s, s.length(), 0);
	} catch (IOException e) {
	    e.printStackTrace();
	    String s = e.toString();
	    DEBUG(s);
	    if (s == null)
		s = ex.getClass().getName();
	    t = new TextBox("Http Error", s, s.length(), 0);
	}

            try {
                c.close();
            } catch (IOException ioe) {
                // do not over throw current exception
            }
    } else {
	t = new TextBox("Http Error", "Could not open URL", 128, 0);
    }
} catch (IllegalArgumentException ille) {
    // Check if an invalid proxy web server was detected.
    t  = new TextBox("Illegal Argument",ille.getMessage(), 128, 0);
}

    if (is != null) {
    try {
	is.close();
    } catch (Exception ce) {; }
    }

    if (c != null) {
    try {
	c.close();
    } catch (Exception ce) {; }
    }

t.addCommand(sair);  
t.setCommandListener(this);
display.setCurrent(t);
}

private void readHeaders(String request) {
HttpConnection c;
TextBox t;
StringBuffer b;
url=new String();
url=tf.getString();
try {
try {
c = (HttpConnection)Connector.open(url);
} catch (IllegalArgumentException e) {
String m = e.getMessage();
t = new TextBox(“Illegal argument”, e.getMessage(), 128, 0);
display.setCurrent(t);
return;
} catch (ConnectionNotFoundException e) {
t = new TextBox(“Error”, “Protocol not supported”, 128, 0);
display.setCurrent(t);
return;
}

        try {
            c.setRequestMethod(request);
    
            b = new StringBuffer();
            b.append("URL: ");
            b.append(c.getURL());
            b.append("\nProtocol: ");
            b.append(c.getProtocol());
            b.append("\nHost: " + c.getHost());
            b.append("\nFile: " + c.getFile());
            b.append("\nRef: " + c.getRef());
            b.append("\nQuery: ");
            b.append(c.getQuery());
            b.append("\nPort: ");
            b.append(c.getPort());
            b.append("\nMethod: ");
            b.append(c.getRequestMethod());

            // DEBUG: request DEBUG(b) ; 

            if (c instanceof HttpsConnection) {
                // getSecurityInfo should connect
                SecurityInfo sslInfo =
                    ((HttpsConnection)c).getSecurityInfo();
                Certificate cert = sslInfo.getServerCertificate();

                b.append("\nSecure protocol: ");
                b.append(sslInfo.getProtocolName());
                b.append("\nSecure protocol version: ");
                b.append(sslInfo.getProtocolVersion());
                b.append("\nCipher suite: ");
                b.append(sslInfo.getCipherSuite());

                if (cert == null) {
                    b.append("\nNo server Certficate.");
                } else {
                    b.append("\nServer certificate \n\t Type: ");
                    b.append(cert.getType());
                    b.append("\n\t Version: ");
                    b.append(cert.getVersion());
                    b.append("\n\t Serial number: ");
                    b.append(cert.getSerialNumber());
                    b.append("\n\t Issuer: ");
                    b.append(cert.getIssuer());
                    b.append("\n\t Subject: ");
                    b.append(cert.getSubject());
                    b.append("\n\t Signature algorithm: ");
                    b.append(cert.getSigAlgName());
                    b.append("\n\t Not valid before: ");
                    b.append(time2str(cert.getNotBefore()));
                    b.append("\n\t Not valid after:  ");
                    b.append(time2str(cert.getNotAfter()));
                }
            }

            // if not connected getResponseCode should connect
            b.append("\nResponseCode: ");
            b.append(c.getResponseCode());
            b.append("\nResponseMessage:");
            b.append(c.getResponseMessage());
            b.append("\nContentLength: ");
            b.append(c.getLength());
            b.append("\nContentType: ");
            b.append(c.getType());
            b.append("\nContentEncoding: ");
            b.append(c.getEncoding());
            b.append("\nContentExpiration: ");
            b.append(c.getExpiration());
            b.append("\nDate: ");
            b.append(c.getDate());
            b.append("\nLast-Modified: ");
            b.append(c.getLastModified());
            b.append("\n\n");

            // DEBUG: Reply  DEBUG(b) ; 

            int h = 0;
            while (true) {
                try {
                    String key = c.getHeaderFieldKey(h);
                    if (key == null) {
                        break;
                    }

                    String value = c.getHeaderField(h);
                    b.append(key);
                    b.append(": ");
                    b.append(value);
                    b.append("\n");
                    h++;
                    // DEBUG: DEBUG( key + "(" + h + "): " +
                    //        value) ;
                }
                catch (Exception e) {
                    // DEBUG: DEBUG(
                    //     "Exception while fetching headers");
                    break;
                }
            }

            t = new TextBox("Http Test", b.toString(), b.length(), 0);
            // DEBUG:	    DEBUG (b.toString());
            t.addCommand(sair);
            t.setCommandListener(this);
            display.setCurrent(t);
        } finally {
            c.close();
        }
} catch (ConnectionNotFoundException e) {
        t  = new TextBox("Error", "Could not Connect.", 128, 0);
       
        t.addCommand(sair);
        t.setCommandListener(this);
        display.setCurrent(t);
        return;
} catch (CertificateException e) {
        StringBuffer m = new StringBuffer(256);
        String s;
        Certificate cert = e.getCertificate();

        m.append(e.getMessage());
        if (cert != null) {
            m.append("\nServer certificate \n\t Type: ");
            m.append(cert.getType());
            m.append("\n\t Version: ");
            m.append(cert.getVersion());
            m.append("\n\t Serial number: ");
            m.append(cert.getSerialNumber());
            m.append("\n\t Issuer: ");
            m.append(cert.getIssuer());
            m.append("\n\t Subject: ");
            m.append(cert.getSubject());
            m.append("\n\t Signature algorithm: ");
            m.append(cert.getSigAlgName());
            m.append("\n\t Not valid before: ");
            m.append(time2str(cert.getNotBefore()));
            m.append("\n\t Not valid after:  ");
            m.append(time2str(cert.getNotAfter()));
        }

        s = m.toString();
        t  = new TextBox("Certificate Error", s, s.length(), 0);
        display.setCurrent(t);
        return;
} catch (IOException ex) {
        ex.printStackTrace();
}
}

public void pauseApp(){}

public void destroyApp(boolean unconditional){}

public void commandAction(Command c, Displayable s) {
synchronized (this) {
if (commandThread != null) {
return;
}

        currentCommand = c;
        commandThread = new Thread(this);
        commandThread.start();
    }

}

public void run() {
if (currentCommand == sair) {
destroyApp(false);
notifyDestroyed();
} else if (currentCommand == buscar) {
readContents(HttpConnection.GET);
} else if (currentCommand == cabecalho) {
readHeaders(HttpConnection.HEAD);
}/else if(currentCommand == voltar){
mainScreen();
}
/

synchronized (this) {
commandThread = null;
}
}
}
[/code]

Eu to tentando fazer algo parecido (BEMM mais simples q vc! ehhe) usando Servlet… queria saber que erro que vc esta tendo ao utilizar essa sua aplicação sua! :slight_smile:

Ricardo