2016-07-20 8 views
0

Ich versuche, Daten aus https://dcs3.noaa.gov mit einigen Problemen zu verschrotten. Im Moment kann ich mich auf der Seite anmelden und die Cookies bekommen, aber wenn ich versuche, auf eine eingeschränkte Seite zuzugreifen, erhalte ich die Login-Seite.Zugriff auf eingeschränkte Seiten mit jsoup nach dem Login

Hier ist mein Code:

package jsouptelemetrica; 

import java.util.HashMap; 
import java.util.Map; 
import org.jsoup.Connection; 
import org.jsoup.Connection.Method; 
import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 

public class Jsouptelemetrica { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    // TODO code application logic here 
    try { 

     Map<String, String> cookies = new HashMap<String, String>(); 
     Connection.Response loginRes = Jsoup.connect("https://dcs3.noaa.gov/ACCOUNT/Login") 
              .userAgent("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0") 
              .execute(); 
     cookies.putAll(loginRes.cookies()); 
     loginRes = Jsoup.connect("https://dcs3.noaa.gov/ACCOUNT/Login") 
          .userAgent("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0") 
          .data("__RequestVerificationToken", cookies.get("__RequestVerificationToken"), 
            "Email", "my-email", 
           "Password", "super secret password") 
          //this is the same cookie you used for url2! 
          .method(Method.POST) 
          .followRedirects(true) 
          .cookies(cookies) 
          .execute(); 
          //System.out.println(loginRes.body()); 
          cookies.putAll(loginRes.cookies()); 
    Document doc = Jsoup.connect("https://dcs3.noaa.gov/Messages/List").userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36") 
             .userAgent("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0") 
             .cookies(cookies) 
             .referrer("https://dcs3.noaa.gov/ACCOUNT/Login") 
             .method(Method.GET) 
             .data("Grid-sort","") 
             .data("Grid-page","1") 
             .data("Grid-pageSize","20") 
             .data("Grid-group","") 
             .data("Grid-filter","") 
             .get(); 

    //Document doc = Resp1.parse(); 
    cookies.putAll(loginRes.cookies()); 
    System.out.println(doc.toString()); 
    }catch(Exception e){ 

     System.err.println(e.getMessage()); 
    } 

} 

Jede Hilfe wären wir dankbar.

Danke!

+0

Woher wissen Sie, ob Ihr Login erfolgreich war ?? –

+0

, nachdem ich versuche, ein ASP.NET_SessionId Cookie erscheint – grod

+0

Ich habe gerade überprüft und kann überprüfen, dass die Cookies für mich auch nach einer fehlgeschlagenen Anmeldung erscheint –

Antwort

0

Wie Joel Min sagt das Problem war mit der Auth