2016-11-15 26 views
-1

JS0pを使用してこのhttp://ecampus.smu.ac.kr/ウェブサイトにログインする方法を教えてもらえますか?Android - Jsoupのウェブサイトへのログイン

現在、私のコード(完全に失敗し、私は私が間違っている「トラック」によ確信している):

class Insert extends AsyncTask<String, Void, String> { 
    @Override 
    protected String doInBackground(String... params) { 
     try { 
      Connection.Response res = Jsoup.connect("https://ecampus.smu.ac.kr/login/index.php") 
        .data("username", "201490008", "password", "*******") 
        .method(Connection.Method.POST) 
        .execute(); 
      Map<String, String> loginCookies = res.cookies(); 
      Document doc = Jsoup.connect("http://ecampus.smu.ac.kr/").cookies(loginCookies).get(); 
      Elements elements = doc.select(".course_name"); 
      arrayList.clear(); 
      for (Element element : elements) { 
       arrayList.add(element.text()); 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 
+0

サイトがPOST要求をまったく受け入れることをどのように知っていますか? –

+0

私はそう思うか分からない@ cricket_007 –

+0

このリンクは私たちのunivecityのリンクであり、私はこのリンクに私のアプリケーションを接続したい。 2日前にこのコードが動作しましたが、今日は動作しません。 @ cricket_007 –

答えて

1

Jsoupを経由してPOSTリクエストを送信するには、このようなものを使用してみてくださいと文書

を検索

まず:

CookieManager cm = new CookieManager(); 
CookieManager.setDefault(cm); 

第二に、すべてのクッキーの原料を処理するためにクッキーマネージャを設定します。あなたのPOSTパラメータ

0123用 Map<String, String>を作成します。
HashMap<String, String> postMap = new HashMap<String, String>(); 
postMap.put("username", "xxxxxxxxxxx"); 
postMap.put("password", "xxxxxxxxxxxxx"); 
postMap.put("rememberusername", "on"); 

最後に:POSTリクエスト

String userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36"; 
String referer = "http://ecampus.smu.ac.kr/"; 
Connection.Response res = Jsoup.connect("https://ecampus.smu.ac.kr/login/index.php") 
     .data(postMap) 
     .userAgent(userAgent) 
     .referrer(referer) 
     .method(Connection.Method.POST) 
     .execute(); 

Document doc = res.parse(); 

を実行するために、特定のヘッダー(私の例ではリファラとuserAgentに)を設定しuserAgentには、サーバが、モバイルデバイスではありませんことを考えるようになります。これはうまくいくはずです。

+0

ああ、動作していません@ devnull69 –