Всем привет, есть следующий код, взятый с этого же форума и подогнанный "под себя": Код | 01 public void Login() { 02 String strURL = "http://123.ru/serv/login/"; 03 HttpState initialState = new HttpState(); 04 HttpClient client = new HttpClient(); 05 client.getParams().setParameter("http.useragent", "Client"); 06 client.setState(initialState); 07 client.getParams().setCookiePolicy(CookiePolicy.DEFAULT); 08 client.getParams().setBooleanParameter(HttpClientParams.ALLOW_CIRCULAR_REDIRECTS,true); 09 10 BufferedReader br = null; 11 12 PostMethod method = new PostMethod(strURL); 13 14 method.addParameter("login", jTextLogin.getText().toString()); 15 method.addParameter("mode", "login"); 16 method.addParameter("passwd", jTextPasswd.getText().toString()); 17 18 try{ 19 int returnCode = client.executeMethod(method); 20 Cookie[] cookies = client.getState().getCookies(); 21 System.out.println("Response status code: " + returnCode); 22 System.out.println("Present cookies: "); 23 for (int i = 0; i < cookies.length; i++) { 24 System.out.println(" - " + cookies[i].toExternalForm()); 25 } 26 27 if(returnCode == HttpStatus.SC_NOT_IMPLEMENTED) { 28 System.err.println("The Post method is not implemented by this URI"); 29 // still consume the response body 30 method.getResponseBodyAsString(); 31 } else { 32 br = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream())); 33 String readLine; 34 while(((readLine = br.readLine()) != null)) { 35 System.err.println(readLine); 36 37 if (readLine.charAt(12) == '1') { 38 jTabbedPaneMain.setEnabledAt(1, true); 39 jPanelAuth.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), readLine.substring(21, readLine.indexOf("'", 21)),TitledBorder.TOP, TitledBorder.CENTER)); 40 //java.lang.Thread.sleep(3000); 41 jTabbedPaneMain.setEnabledAt(0, false); 42 jTextLogin.enable(false); 43 jTextPasswd.enable(false); 44 jLabel1.enable(false); 45 jLabel2.enable(false); 46 jTextLogin.setBackground(Color.green); 47 jTextPasswd.setBackground(Color.green); 48 jButtonLogin.setText("Продолжить"); 49 } else { 50 jPanelAuth.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), readLine.substring(21, readLine.indexOf("'", 21)),TitledBorder.TOP, TitledBorder.CENTER)); 51 jTextLogin.setBackground(Color.red); 52 jTextPasswd.setBackground(Color.red); 53 } 54 } 55 56 strURL = "http://www.123.ru/change/exchange/serv/flist/"; 57 System.out.println("Target URL: " + strURL); 58 59 initialState = new HttpState(); 60 initialState.addCookies(cookies); 61 client.setState(initialState); 62 client.getParams().setCookiePolicy(CookiePolicy.DEFAULT); 63 client.getParams().setBooleanParameter(HttpClientParams.ALLOW_CIRCULAR_REDIRECTS,true); 64 65 client.getParams().setParameter("part","0"); 66 client.getParams().setParameter("type","0"); 67 client.getParams().setParameter("fkey","0"); 68 client.getParams().setParameter("sort","name"); 69 70 GetMethod httpget = new GetMethod(strURL); 71 72 returnCode = client.executeMethod(httpget); 73 cookies = client.getState().getCookies(); 74 httpget.getResponseBodyAsString(); 75 System.out.println("Response status code: " + returnCode); 76 cookies = client.getState().getCookies(); 77 System.out.println("Present cookies: "); 78 for (int i = 0; i < cookies.length; i++) { 79 System.out.println(" - " + cookies[i].getValue()); 80 } 81 System.out.println(httpget.getResponseBodyAsString()); 82 httpget.releaseConnection(); 83 } 84 } catch (Exception e) { 85 System.err.println(e); 86 } finally { 87 method.releaseConnection(); 88 if(br != null) try { br.close(); } catch (Exception fe) {} 89 } 90 }
|
Первый блок с ссылкой login отлично обрабатывает авторизацию, мы аторизованы! Ура! Но далее мы пытаемся получить список файлов, второй блок со ссылкой change/exchange, getResponseBodyAsString возвращает "" то есть пустоту, FireBug в Мозилле показал мне параметры и URL, я их интерпретировал. В чем может быть проблема? Куда копать? Заранее спасибо!
|