我想在此登录:http://www.vodafone.it/190/trilogy/jsp/home.do并使用代码:
HttpGet httpget = new HttpGet("http://www.vodafone.it/190/trilogy/jsp/home.do");
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
System.out.println("Initial set of cookies:");
List<Cookie> cookies = httpclient.getCookieStore().getCookies();
if (cookies.isEmpty()) {
System.out.println("None");
} else {
for (int i = 0; i < cookies.size(); i++) {
System.out.println("- " + cookies.get(i).toString());
}
}
//Visito la pagina del Login
HttpPost httpost = new HttpPost("https://www.vodafone.it/190/trilogy/jsp/login.do");
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("username", ""));
nvps.add(new BasicNameValuePair("password", ""));
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
response = httpclient.execute(httpost);
entity = response.getEntity();
System.out.println("Post logon cookies:");
cookies = httpclient.getCookieStore().getCookies();
if (cookies.isEmpty()) {
System.out.println("None");
} else {
for (int i = 0; i < cookies.size(); i++) {
System.out.println("- " + cookies.get(i).toString());
}
}
如果这是正确的,我怎么知道我是否已登录?
答案 0 :(得分:1)
有几种方法可以找到它。 (它们都不是标准的。请检查适合您的内容。)
通常在成功登录后,网站redirect
将用户转到某个主页。如果登录失败,则当您返回登录页面时,不会发生此重定向。因此,如果返回的http状态代码是303或307,那么您可以假设您的登录成功。您可以使用浏览器使用某些浏览器插件(如Firefox中的FireBug)验证这一点。
如果上述情况不属实(意味着没有重定向),那么您将直接在主页上。在这种情况下,您可以检查页面的一些基本内容(通常表明页面的内容)。页眉是您可以阅读以确保您在主页上的一种方式。