Strona główna forum Kategoria forum
N-Ker 2009-06-26 18:28
Chciałbym się zalogować na naszą klasę za pomocą mojego programu. Niestety w odpowiedzi dostaję stronę startową i nie jestem zalogowany. Szukałem na forum, ale ne iznalazłem odpowiedzi.

 
    public static void main(String[] args) throws Exception
    {
        System.setOut(new PrintStream("nk_file.html"));
 
        CookieHandler.setDefault(new CookieManager());
 
        URL url = new URL("http://www.nasza-klasa.pl/login");
        String params = "login=" + URLEncoder.encode(LOGIN, "UTF-8") + "&password=" + URLEncoder.encode(PASS, "UTF-8");
 
        HttpURLConnection conn = (HttpURLConnection)url.openConnection();
        conn.setDoOutput(true);
        conn.setRequestMethod("POST");
        conn.setRequestProperty("User-Agent", "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");
        conn.setRequestProperty("Accept", "*/*");
        conn.setRequestProperty("Refferer", "http://nasza-klasa.pl");
        conn.setRequestProperty("Connection", "Keep-Alive");
        conn.setRequestProperty("Cookie", "");
        conn.setRequestProperty("Content-length", params.length() + "");
        conn.setRequestProperty("Content-type", "application/x-www-form-urlencoded");
        conn.connect();
 
        OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
        out.write(params);
        out.close();
 
        Scanner in = new Scanner(conn.getInputStream());
 
        while (in.hasNext())
            System.out.println(in.next());
 
        in.close();
    }
 
Głosuj na ten post 0/0 Głosuj na ten post
Raportuj Cytuj
1 2  » 14 odpowiedzi
1 2  »
N-Ker 2009-06-27 19:13
Usprawniłem to trochę, ale nadal nie działa xD
 
package app;
 
import java.util.*;
import java.io.*;
import java.net.*;
 
public class Main
{
    public static void main(String[] args) throws Exception
    {
        System.setOut(new PrintStream("nk_file.html"));
 
        CookieHandler.setDefault(new CookieManager());
 
        URL url = new URL("http://www.nasza-klasa.pl/login");
        String params = "login=" + URLEncoder.encode(LOGIN, "UTF-8") + "&password=" + URLEncoder.encode(PASS, "UTF-8");
 
        HttpURLConnection conn = (HttpURLConnection)url.openConnection();
        conn.setDoOutput(true);
        conn.setRequestMethod("POST");
        conn.setRequestProperty("User-Agent", "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");
        conn.setRequestProperty("Accept", "*/*");
        conn.setRequestProperty("Refferer", "http://nasza-klasa.pl");
        conn.setRequestProperty("Connection", "Keep-Alive");
        conn.setRequestProperty("Cookie", getCookies());
        conn.setRequestProperty("Content-length", params.length() + "");
        conn.setRequestProperty("Content-type", "application/x-www-form-urlencoded");
        conn.connect();
 
        OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
        out.write(params);
        out.close();
 
        Scanner in = new Scanner(conn.getInputStream());
 
        while (in.hasNext())
            System.out.println(in.next());
 
        in.close();
    }
 
    public static String getCookies() throws Exception
    {
        URLConnection conn = new URL("http://www.nasza-klasa.pl/login").openConnection();
        String result = "";
 
        for (String cookie : conn.getHeaderFields().get("Set-Cookie"))
            result += cookie.replace(".nasza", "nasza") + "; ";
 
        return result;
    }
 
    private static final String LOGIN = "użytkownik";
    private static final String PASS = "hasło";
}
 
 


Jakieś pomysły, co zrobić by się logowało?
Głosuj na ten post 0/0 Głosuj na ten post
Raportuj Cytuj
__krzysiek85 2009-06-28 12:06
  • 2006-11-21 13:17
  • 2013-06-12 18:22
  • 899
Przypadkiem nie brakuje nowej linii pomiędzy parametrami żądania, a linią z loginem i hasłem?

Wireshark pokazuje, że Firefox w czasie logowania przekazuje coś takiego:
POST /login HTTP/1.1
Host: nasza-klasa.pl
User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://nasza-klasa.pl/
Cookie: CIASTKO
Content-Type: application/x-www-form-urlencoded
Content-Length: 50
 
login=MOJ_LOGINl&password=MOJE_HASŁO


Spróbuj więc tak:
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
out.write("\n"); /* Mozna tez sprobowac "\r\n" */
out.write(params);
out.close();


user imageRegistered Linux user #456405 | user image SCJP 6 | SCWCD 5 | SCBCD 5
Głosuj na ten post 0/0 Głosuj na ten post
Raportuj Cytuj
N-Ker 2009-06-28 13:05
Nie działa ani "\n" ani "\r\n" :(
Głosuj na ten post 0/0 Głosuj na ten post
Raportuj Cytuj
Raf.. 2009-07-08 13:44
Nie wiem czy jeszcze potrzebujesz pomocy ale możliwe ze podajesz źle login, sprawdzałem w WireSharku i on nie przekazuje @ tak jak jest tylko zamienia ją na %40
Głosuj na ten post 0/0 Głosuj na ten post
Raportuj Cytuj
rah 2009-09-23 01:04
czy zna ktoś rozwiązanie powyżej opisanego problemu i mógłby udzielić wskazówek?
Głosuj na ten post 0/0 Głosuj na ten post
Raportuj Cytuj
gawel 2010-05-29 18:19
coś nowego??
Głosuj na ten post 0/0 Głosuj na ten post
Raportuj Cytuj
Ktoś taki 2010-05-29 19:31
Rozwiązaniem problemu jest nie logowanie się do nk dla własnego zdrowia.
Głosuj na ten post 0/0 Głosuj na ten post
Raportuj Cytuj
dzek69 2010-05-29 19:58
  • 2006-12-09 15:04
  • 1 minuta temu
  • Webmastering
  • 85.19% (162 oceny)
Ktoś taki:Rozwiązaniem problemu jest nie logowanie się do nk dla własnego zdrowia.

ale on bota pisze, może będzie zakładał spam konta, może będzie na chleb zarabiał? a ty mu od razu takie .. :(

a poważnie i do autora:
nasza-klasa umożliwia logowanie wg loginu LUB maila. Loguj wg loginu. Ominięcie problemu, ale będzie działać.

niezłe konto shell || tani i porządny hosting
Nie odpowiadam na PM z prośbami o pomoc programistyczną
Głosuj na ten post 0/0 Głosuj na ten post
Raportuj Cytuj
gjjyjg 2010-10-09 13:04
[???]   [!!!]  ;-(
Głosuj na ten post 0/0 Głosuj na ten post
Raportuj Cytuj
Afish 2010-10-09 14:53
  • 2007-05-29 10:03
  • wczoraj, 21:28
Sprawdź, czy nie ma literówek w żądaniu. W pierwszych postach masz Refferer zamiast Referer
Głosuj na ten post 0/0 Głosuj na ten post
Raportuj Cytuj
atom

Ilość odpowiedzi na stronę

1 użytkownik(ów) przegląda ten temat (1 gości)

4programmers.net