无法在JSoup中维护PHP会话

时间:2016-09-08 16:52:54

标签: java php cookies jsoup session-cookies

我正在尝试使用JSoup从目录中检索信息,它每行总共有9列,第6列专门用于登录时的占位符,当您实际登录到该站点时,该列显示“价格”。

我有以下内容:(此处未显示用户名和密码)

    Document doc = null;
    String url;

    Response res = Jsoup.connect("https://www.prisa.cl/home/?page=iniciaSesion")
        .method(Method.GET)
        .timeout(10000)
        .execute();       

    String sessionID = res.cookie("PHPSESSID");
    System.out.println(sessionID);

    res = Jsoup.connect("https://www.prisa.cl/home/?page=iniciaSesion")
        .data("email_address", username, "password", password)
        .method(Method.POST)
        .timeout(10000)
        .execute();   
    sessionID = res.cookie("PHPSESSID");
    System.out.println(sessionID);



        for(int page=1; page<=1; page++){
            url = "https://www.prisa.cl/catalog/advanced_search_result.php"
                    + "?keywords=%20&enviar=&categories_id=&manufacturers_id=&pfrom=&pto=&sort=2a&&page="+page;
            doc = Jsoup.connect(url)
                    .cookie("PHPSESSID", sessionID)
                    .timeout(10000)
                    .get();

            for(Element table : doc.select("table table table table table")){        
                for(Element row : table.select("tr")){ 
                  Elements tds = row.select("td");
                  if(tds.size() == 9){   
                       System.out.println(tds.select("img[src]").attr("src")+";"+
                               tds.get(1).text()+";"+
                               tds.get(2).text()+";"+
                               tds.get(3).text()+";"+
                               tds.get(4).text()+";"+
                               tds.get(5).text()+";"+
                               tds.get(6).text());
                  } //end if
                } //rows                 
            } //tables
            System.out.println("finished page: "+page);
        } //pages  

我认为/希望在这里发生的是:

1-我在未登录时获取PHPSESSID cookie(用于调试目的)

2-我在登录时再次获得PHPSESSID(具有不同的数据)

3-我正在为目录中的每个页面进行迭代(在上面的代码中仅使用1)并尝试在连接期间发送PHPSESSID cookie以在登录时检索数据

4-寻找具有9个TD而TR为5个表格的TR(页面布局有点混乱)

我对此非常陌生,但实际上我在Stack Overflow和JSoup文档中搜索了几天不同的方法无济于事。

我做错了什么?

0 个答案:

没有答案