2012-06-09 103 views
0

我想用http和apache客户端登录到一个网站,使用java和eclipse。我曾尝试编写代码的方法很多,但它仍然不能正常工作:无法登录网站

CookieStore cookieStore = new BasicCookieStore(); 

HttpContext localContext = new BasicHttpContext(); 

localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore); 

post = new HttpPost("http://www.biketrial.kiev.ua/forum/ucp.php?mode=login"); 

List<NameValuePair> params = new ArrayList<NameValuePair>(2); 

String login = new String(log.getBytes("UTF-8")); 

String pas =new String(password.getBytes("UTF-8")); 

params.add(new BasicNameValuePair("username",login)); 

params.add(new BasicNameValuePair("password", pas)); 

post.setEntity(new UrlEncodedFormEntity(params, "UTF-8")); 

response = client.execute(post,localContext); 

entity = response.getEntity(); 

BufferedReader br=new BufferedReader(new InputStreamReader(entity.getContent())); 

String line="",ln=""; 

while((line=br.readLine())!=null){ 
    ln+=line+"\n"; 
} 

回答

1

表单标签具有唯一部件,改变每次登录尝试:

<form action="./ucp.php?mode=login&amp;sid=a1867e90f9f131fb99676a9db3892c95" method="post"> 

我不知道是什么否则你可能不得不这样做,但至少我希望在尝试发布凭证之前需要加载登录页面并解析该操作URL。另外,请注意,有些管理员不会善意地将自动系统连接到用于人类的网站。