2012-06-09 132 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。另外,請注意,有些管理員不會善意地將自動系統連接到用於人類的網站。