2011-06-22 35 views
1

まず、私はこれでかなり新鮮です。私はAndroidに、ASPに、JavaScriptに、httpにまで新しいです。Androidアプリ経由でhttpsウェブサイトへのログイン

私は学校のウェブサイトにログインしてデータを取り出せるAndroidアプリを開発しようとしていますが、最終的に私のタイムテーブルのデータをAndroidのカレンダーエントリに挿入するようにしたいと考えています。しかし、私はトラブルにログインを抱えている。ここ

は、ウェブサイトです:。 上記のURLへのHTTP POSTをやっていると私はhhttpsにリダイレクトされるように望んでいる私が現在やっている https://sso.wis.ntu.edu.sg/webexe88/owa/sso_login2.asp

://wish.wis.ntu.edu.sg/pls/webexe/aus_stars_check.check_subject_web2私のタイムテーブルを表示します。 Webページのソースを表示し、インターネット上でかなり検索した後、次のように

これまでのところ、私のコードは次のとおりです。

private void start_login(String[] array) { 
    // TODO Auto-generated method stub 
    Toast.makeText(this, "Logging in...", Toast.LENGTH_LONG).show(); 

    WebView wv = new WebView(this);  
    this.setContentView(wv); 

    try { 

     ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(4); 
     nameValuePairs.add(new BasicNameValuePair("UserName", <my username here>)); 
     nameValuePairs.add(new BasicNameValuePair("PIN", <my password here>)); 
     nameValuePairs.add(new BasicNameValuePair("Domain", "STUDENT")); 
     nameValuePairs.add(new BasicNameValuePair("p2", "https://wish.wis.ntu.edu.sg/pls/webexe/aus_stars_check.check_subject_web2")); 

     wv.loadData(CustomHttpClient.executeHttpPost(URL, nameValuePairs), "text/html", "utf-8"); 

    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

}// end start_login 

ログイン機能だこと。

私が使用しているCustomHttpClientはこの男のおかげである:http://www.newtondev.com/2010/07/27/making-http-requests-using-google-android/

これまでのところ、私は何も結果が届きません。私は間違って何をしていますか?私はArrayListの値が不足している、または私はすべてのURLが間違っている?

答えて

3

以下のコードはhttpsを処理し、https urlのためにhttpsclientを与えます。https urlsにリクエストするにはhttpsclientが必要です。コードの下

マイトはあなたに助けである:

public DefaultHttpClient getClient() 
    { 
     DefaultHttpClient ret = null; 

     //sets up parameters 
     HttpParams params = new BasicHttpParams(); 
     HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1); 
     HttpProtocolParams.setContentCharset(params, "utf-8"); 
     params.setBooleanParameter("http.protocol.expect-continue", false); 

     //registers schemes for both http and https 
     SchemeRegistry registry = new SchemeRegistry(); 
     registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); 
     final SSLSocketFactory sslSocketFactory = SSLSocketFactory.getSocketFactory(); 
     sslSocketFactory.setHostnameVerifier(SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER); 
     registry.register(new Scheme("https", sslSocketFactory, 443)); 

     ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(params, registry); 
     ret = new DefaultHttpClient(manager, params); 
     return ret; 
    } 
+0

おかげでたくさんのsuccess_anil!それは私のために働いた! – squeeish

関連する問題