/** * JDLoginApater.java * * Function:Jsoup Model Apater class. * * ver date author * ────────────────────────────────── * 1.0 2017/06/16 bluetata * * Copyright (c) 2017, [https://github.com/] All Rights Reserved. */ package com.datacrawler.service.model.jd.com; import java.util.HashMap; import java.util.Map; import org.jsoup.Connection.Method; import org.jsoup.Connection.Response; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; /** * @author bluetata * */ public class JDLoginApater { public static final String LOGIN_URI = "https://passport.jd.com/new/login.aspx"; public static final String USER_AGENT = "Mozilla/5.0"; //public static final String USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.12 (KHTML, like Gecko) Maxthon/3.0 Chrome/18.0.966.0 Safari/535.12"; public static final int TIMEOUT_UNIT = 1000; public static final int TIMEOUT_TIMES = 50; public static void main(String[] args) { // grab login form page first try { //lets make data map containing all the parameters and its values found in the form Map<String, String> mapParamsData = new HashMap<String, String>(); mapParamsData.put("loginType", "f"); mapParamsData.put("loginname", "18241141433"); mapParamsData.put("nloginpwd", "password"); mapParamsData.put("eid", "2QE5VJVZUBCRYD7LQZBJBTEFRNKPMQQA5OXKXNY7AAN4A3DKDTR7IN3GXHE5C6B4GTMW3Z53B4RGORB6YG5LUWF2UA"); mapParamsData.put("fp", "ae5baf289624644fced3f921c6a3792c"); mapParamsData.put("pubKey", "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDC7kw8r6tq43pwApYvkJ5laljaN9BZb21TAIfT/vexbobzH7Q8SUdP5uDPXEBKzOjx2L28y7Xs1d9v3tdPfKI2LR7PAzWBmDMn8riHrDDNpUpJnlAGUqJG9ooPn8j7YNpcxCa1iybOlc2kEhmJn5uwoanQq+CA6agNkqly2H4j6wIDAQAB"); mapParamsData.put("sa_token", "B68C442BE645754F33277E701208059080DD726A94A73F76DEC3053A838549C06EB7D3797CE1C5BBE7C2B2EF9CA7D4676F3D489984B517943EA13575FA80C7E73160F85EDB2705D145C52621D18B86C98B49AAF0DA97A2A7A964A78DDDA048AE592CF17C2AD8BF442AD743460B9316993DCDF5924AD8536FD4392C95A998E1C4C4EEDF76BF8FF03AAC145E449EAB889368EE1E7DA72B18881D527D9F51BAD9E2678DDEAFB33A647DD6D48B2A3BE1BC51DDC55AB1EAAEE2DE9A3CEA3702F93AAD1EC8EF740B632F5A4EC102498CDB31AF91CEA15DB3B6DF6FAC6CA31473ACC5E2CD727F80D2746F504A85379E7F3971086C13BA743F21731CEBFEC558E54E8D5D486CC3A19266E238F539A59C2F8630964981217DCC3B31B324F7DBF41FAEA47CA363904F06816BA9730B31BDD9FFA5498C1D0C36D67F315BA4F9236AC77BAFD5"); mapParamsData.put("seqSid", "5844668515208615000"); mapParamsData.put("uuid", "5653262a-5ef1-47c6-8ac2-427f519fdcfa"); Response loginResponse = Jsoup.connect(LOGIN_URI) .userAgent(USER_AGENT) .timeout(TIMEOUT_UNIT * TIMEOUT_TIMES) .data(mapParamsData) .method(Method.POST) .followRedirects(true) .execute(); System.out.println("Fetched login page"); // System.out.println(loginResponse.toString()); //get the cookies from the response, which we will post to the action URL Map<String, String> mapLoginPageCookies = loginResponse.cookies(); System.out.println(mapLoginPageCookies); Document doc = Jsoup.connect("http://order.jd.com/center/list.action") .cookies(mapLoginPageCookies) .timeout(30000) .get(); System.out.println(doc.toString()); } catch (Exception e) { e.printStackTrace(); } } }