2017-08-11 1 views
0
Connection.Response loginResponse = Jsoup.connect("https://users.premierleague.com/accounts/login/") 
        .userAgent("Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)") 
        .data("csrfmiddlewaretoken", csrfmiddlewaretokenValue) 
        .data("login", "[email protected]") 
        .data("password", "****") 
        .data("app", "plfpl-web") 
        .data("redirect_uri", "https://fantasy.premierleague.com/a/team/my") 
        .timeout(600000) 
        .cookie("auth", "token") 
        .method(Connection.Method.POST) 
        .execute(); 

私は上記のコードを使用して、AndroidアプリでJsoupを使用してウェブサイトにログインしています。しかし、ログイン後のWebページの実際のHTMLとJsoupからの応答は異なります。 Webページの本体がJsoupの応答に見つかりません。私はそれがいくつかのセキュリティ機能だと思います。私は別のユーザーエージェントと大きなタイムアウト値を試しましたが、運がありません。問題を解決するにはどうすればよいですか?ウェブページとJsoupレスポンスのHTMLが同じではない

答えて

1

SPA(シングルページアプリケーション)の場合、DOMはロードされずに生成されます。ページにはDOMルートのみが含まれています。 divと残りの部分はJavaScriptによって構築されています。

など。リアクションベースのWebアプリケーション。

JSoupはこの場合は役に立ちません。

ブラウザで送信された内容を確認し、応答を解析する要求を真似しようとします。

+0

応答で目的の要素が見つかりません。セレンは役立つでしょうか? –

+0

私はセレンの専門家ではなく、IMHOです。セレンは助けなければなりませんが、再びブラウザオブジェクトを使用し、ブラウザからgetElementByID()を使用する必要があります。 – StanislavL

+0

それに感謝します。このウェブサイトがSPAであると確信していますか?私はそれをどのように見つけますか? –

関連する問題