Foros del Web » Programación para mayores de 30 ;) » Java »

Obtener Página web con Login.

Estas en el tema de Obtener Página web con Login. en el foro de Java en Foros del Web. Muchachos: Tengo la misión de recoger datos de una web, pero para acceder hasta ese lugar, se necesita pasar por un login. Me logro loguear ...
  #1 (permalink)  
Antiguo 30/09/2012, 16:33
 
Fecha de Ingreso: junio-2012
Ubicación: Chile
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Obtener Página web con Login.

Muchachos:

Tengo la misión de recoger datos de una web, pero para acceder hasta ese lugar, se necesita pasar por un login.

Me logro loguear enviando peticiones POST, pero como recien comienzo con java, no se si lo que hago esta bien, y aún mas, al momento de recibir la pagina despues de logearme me lanza error.

¿Como lo debo hacer?
Les dejo mi codigo.

Clase LectorWeb(Principal)
Código PHP:
package web;

import java.io.*;
import java.net.*;
import javax.swing.*;
import web.post;

public class 
web extends JFrame {
    
JTextArea caja = new JTextArea("Solicitando Datos");
    public 
web() {
      
super("Lector WEB");
      
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      
setSize(600300);
      
JScrollPane panel = new JScrollPane(caja);
      
add(panel);
      
setVisible(true);
    }

    
void obtenerDatos(String direccionthrows MalformedURLException {
      
setTitle(direccion);
      
URL pagina = new URL(direccion);
      
StringBuffer texto = new StringBuffer();
      try {
          
HttpURLConnection con = (HttpURLConnectionpagina.openConnection();
              
con.connect();
          
InputStreamReader in = new InputStreamReader((InputStreamcon.getContent());
          
BufferedReader buff = new BufferedReader(in);
          
caja.setText("Recibiendo Datos...");
          
String linea;
          do {
              
linea buff.readLine();
              
texto.append(linea "\n");
          } while (
linea != null);
              
caja.setText(texto.toString());
} catch (
IOException ioe) {
          
System.out.println("IO Error:" ioe.getMessage());
      }
}
public static 
void main(String[] argumentsthrows UnsupportedEncodingExceptionIOException {
      
String page "https://miportal.uss.cl/cp/home/login";
      if (
page.length() < 1) {
          
System.out.println("Lector de WEB");
          
System.exit(1);
      }
      try {
            
post peticion = new post ("https://miportal.uss.cl/cp/home/login");
            
peticion.add("user""18061");
            
peticion.add("pass""asdasd");
            
String respuesta peticion.getRespueta();
            
System.out.println(respuesta);
            
web apli = new web();
            
apli.obtenerDatos(page);
      } catch (
MalformedURLException mue) {
          
System.out.println("URL incorrecta: " page);
      }
    }


Clase POST
Código PHP:
package web;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;

public class 
post {
    private 
URL url;
    
String data;

    public 
post (String urlthrows MalformedURLException{
        
this.url = new URL(url);
        
data="";
    }

    public 
void add (String propiedadString valorthrows UnsupportedEncodingException{
        
//codificamos cada uno de los valores
        
if (data.length()>0){
            
data+= "&"URLEncoder.encode(propiedad"UTF-8")+ "=" +URLEncoder.encode(valor"UTF-8");}
        else{
            
data+= URLEncoder.encode(propiedad"UTF-8")+ "=" +URLEncoder.encode(valor"UTF-8");}
    }    

    public 
String getRespueta() throws IOException {
        
String respuesta "";
        
//abrimos la conexión
        
URLConnection conn url.openConnection();
        
//especificamos que vamos a escribir
        
conn.setDoOutput(true);
        
//obtenemos el flujo de escritura
        
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
        
//escribimos
        
wr.write(data);
        
//cerramos la conexión
        
wr.close();
        
//obtenemos el flujo de lectura
        
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        
String linea;
        
//procesamos al salida
        
while ((linea rd.readLine()) != null) {
            
respuesta+= linea;
        }
    return 
respuesta;
    }


¿Que debo hacer?
Saludos!!!!
  #2 (permalink)  
Antiguo 30/09/2012, 18:44
 
Fecha de Ingreso: septiembre-2009
Mensajes: 24
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Obtener Página web con Login.

Hola yo soy programador de java ase unos años pero a la ora de trabajar con páginas web utilizo AutoIt es fácil de bajar y hay foros en español además si me quieres hacer consultas al respecto te puedo dar una mono

Etiquetas: jsp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:41.