2016-07-20 15 views
0

https://dcs3.noaa.govのデータをスクラップしようとしていますが、いくつかの問題があります。 現時点で私はページにログインしてクッキーを入手できますが、制限されたページにアクセスしようとするとログインページが表示されます。すべてのヘルプは、私たちは感謝ですはログイン後にjsoupで制限付きページにアクセスできません

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()); 
    } 

} 

は、ここに私のコードです。

ありがとうございます!

+0

ログインが成功したかどうかをどのように知っていますか? –

+0

私はASP.NET_SessionIdのクッキーにログインしようとした後に表示されます – grod

+0

私はちょうどチェックして、ログインに失敗した後でもクッキーが表示されることを確認できます –

答えて

0

Joel Minは問題が認証にあったとしています。

関連する問題