2017-07-01 17 views
1

私は以下https://spps.getalma.comJSOUPを使用してフォームのログインをPOSTするにはどうすればよいですか?

にログインしたいが、私はこの

public String getString(String username, String password) { 
    Connection.Response loginForm = null; 
    Document document = null; 
    try { 
     loginForm = Jsoup.connect("https://spps.getalma.com/").method(Connection.Method.GET).execute(); 
     document = Jsoup.connect("https://spps.getalma.com/login") 
       .data("cookieexists", "false").data("username", username) 
       .data("password", password).cookies(loginForm.cookies()).post(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    String temp = document.title(); 
    return temp; 
} 

をしようとしています。しかし、私はアプリを起動し、この方法は、私のアプリだけで閉まりを実行すると、フォームのソース

<form id="login-form" action="/login" method="post" autocomplete="off" class="pure-form pure-form-stacked login-form"> 
    <label> 
     Username 
     <input name="username" type="text" class="pure-input-1" placeholder="Username" value="" required="" autofocus=""> 
    </label> 

    <label> 
     Password 
     <input name="password" type="password" class="pure-input-1" placeholder="Password" value="" required=""> 
    </label> 
    <button type="submit" class="pure-button pure-button-primary">Login</button> 
</form> 

ですダウン。

あなたはログインしてこのユーザー名とパスワードを使用することができます..私はそれが正常にログインしていないことを推測していると私は、私はそれを動作させるために何をすべきか分からない
ID:paul.kim
パスワード:;:私を助けてくださいandroid.os.NetworkOnMainThreadException

Dvjpp [sddeptfdr、rdyrt1

は、これが原因で発生し言います。 おかげ

+0

https://stackoverflow.com/questions/7139178/jsoup-cookies-for-https-scrapingはこれを試しましたか? – sbidwai

+0

はい、私はしました。それは私のために動作しませんでした –

+0

あなたはGoogleにしようとしました** android.os.NetworkOnMainThreadException **?それはSOに質問を投稿するよりはずっと簡単で、ログイン処理とは関係ありません。 – TDG

答えて

0

これらの方法を使用して、クラス以下のコール

new AsyncCaller().execute(); 

private class AsyncCaller extends AsyncTask<Void, Void, String> 
    { 
     ProgressDialog pdLoading = new ProgressDialog(AsyncExample.this); 

     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 

      //this method will be running on UI thread 
      pdLoading.setMessage("Loading..."); 
      pdLoading.show(); 
     } 
     @Override 
     protected String doInBackground(Void... params) { 

      String result= getString("your username","your password") 


      return result; 
     } 

     @Override 
     protected void onPostExecute(String result) { 
      super.onPostExecute(result); 
     pdLoading.dismiss(); 
     Toast.make(context,result,Toas.LENGTH_SHORT).show(); 
     } 

     } 
    } 
+0

私はそれを試みたが、それでも私に同じエラーを与える –

+0

ありがとう! AsyncTaskは私の問題を修正しました –

+0

幸せコーディングを歓迎します:) –

関連する問題