Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Como enviar datos por post para visualizar una sección de un foro

Hola a todos. Estoy trabajando en un programa que parsea los nombres de usuario de un foro phpbb para usarlos en un programa en conjunto al foro, el problema es que para ver la lista de usuarios necesitas estar logueado con usuario y contraseña.

El código es el siguiente:

import java.io.IOException;
import org.jsoup.*;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;


/**
*
* @author shelby
*/
public class JavaParser {


public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("http://www.urldelforo.es/memberlist.php")
.data("query", "Java")
.userAgent("Mozilla")
.cookie("auth", "token")
.timeout(3000)
.post();

Element content = doc.body();
Elements links = content.getElementsByClass("username-coloured");
for (Element link : links) {
String linkText = link.html();
System.out.println(linkText);
}
}

}

El código está correcto todo, funciona perfectamente y me parsea lo que yo le diga de las páginas visibles, el problema es ese, que para acceder a memberlist.php necesito estar conectado. Ya tengo un usuario registrado en el foro y tal, como puedo hacer que ese programa utilice el usuario y la contraseña mediante una petición POST al foro para que me devuelva la página que estoy solicitando??

Muchas gracias, un saludo a todos!

septiembre 18, 2014 | Unregistered CommenterShelby

Alguien sabe algo? No logro hacerlo..

septiembre 28, 2014 | Unregistered CommenterShelby

Pues si el que ha hecho el foro no te da una forma de acceso conocida no parece posible que lo puedas hacer.

Lo único que se me ocurre es que con algún tipo de software de testeo de interfaz de usuario tipo, Sikuli o Selenium que te permitan abrir un navegador meter tus credenciales acceder a la página y guadar el HTML resultante y después parsearlo con tu programa.

http://www.sikuli.org/
http://www.seleniumhq.org/


Los script de Sikuli y Selenium se pueden pasar a Java para ejecutarlos a través de Junit facilmente.

Suerte!!

septiembre 29, 2014 | Registered Commenterantuansoft