0

モバイル Web サイトへのログインの失敗または成功に対する応答を取得しようとしています。これが私のコードの一部です。

編集


public String login(String User, String Pass) throws Exception{
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();


    HttpPost httppost = new HttpPost(AmwayURL);
    String result = "nothing";
    try {
        // Add user name and password
        String username = User;
        String password = Pass;

        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("userid", username));
        nameValuePairs.add(new BasicNameValuePair("userpswd", password));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        CookieStore cookieStore = new BasicCookieStore();
        HttpContext localContext = new BasicHttpContext();
        localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);

        HttpResponse response = httpclient.execute(httppost, localContext);

        result = inputStreamToString(response.getEntity().getContent()).toString();

        HttpEntity entity = response.getEntity();

        System.out.println("----------------------------------------");
        System.out.println(response.getStatusLine());
        if (entity != null) {
            System.out.println("Response content length: " + entity.getContentLength());
        }
        List<Cookie> cookies = cookieStore.getCookies();
        for (int i = 0; i < cookies.size(); i++) {
            System.out.println("Local cookie: " + cookies.get(i));
        }

        // Consume response content
        //EntityUtils.consume(entity);

        System.out.println("----------------------------------------");



    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        // When HttpClient instance is no longer needed,
        // shut down the connection manager to ensure
        // immediate deallocation of all system resources
        httpclient.getConnectionManager().shutdown();
    }
    return result;
}

私は応答を受け取り、それを調べると、ログインを実行したことがわかりますが、私の質問は、ログインが成功したかどうかを調べるためにプログラムによる方法を使用するにはどうすればよいですか?

そのサイトは同じページにとどまるため、リダイレクト コードを使用できません。

4

1 に答える 1

0

応答を文字列に渡し、公式ドキュメントに従って解析するだけです!

http://jsoup.org/cookbook/input/parse-document-from-string

特定の要素を解析する必要がある場合は、いつでも実行できます。

doc.select(your CSS query here searching a tag, element, class, id or even some atribute value) 
于 2012-07-10T18:14:00.320 に答える