用JAVA实现登陆模拟

import java.util.Map;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.PostMethod;

import com.alibaba.fastjson.JSON;

public class Test {
private static HttpClient httpClient =new HttpClient();//创建 HttpClient 的实例
private static String host=“https://www.nowcoder.com”;

public static void main(String[]args) {

//处理异常,异常的捕获
try {
login(host+"/login/do?token=",“13518301048”, “liuwenlong”);
}
catch (Exception e){//e是一个对象
e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因
}

	}

private static void login(String url, String username,String password) throws Exception{
	// TODO Auto-generated method stub
	PostMethod postMethod=new PostMethod(url);//使用httpClient登录网站,并获取cookie
	//填入表单域的值
	postMethod.addParameter("email",username);
	postMethod.addParameter("pwd",password);
	postMethod.addParameter("remember",Boolean.TRUE.toString());//toString():返回方法,返回值为true
	
	httpClient.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY); //设置 HttpClient 接收 Cookie,
	int stata=httpClient.executeMethod(postMethod);//执行postMethod
	if(stata == 200) {//200:请求已成功,请求所希望的响应头或数据体将随此响应返回。
		String data =postMethod.getResponseBodyAsString();//获取响应
		System.out.println("访问网站成功!");
		
		Map map=JSON.parseObject(data,Map.class);//JSON 是轻量级的文本数据交换格式
		System.out.println(map.get("msg"));
		if(map!=null&&map.get("msg").toString().equals("ok")) 
		{
			System.out.println("网站登陆成功!");
		}
		else
		{
			System.out.println("网站登陆失败!"+map.get("msg").toString());
		}
	}
}

}

你可能感兴趣的:(用JAVA实现登陆模拟)