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();
}
| 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.
|
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 | |
|
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(); 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 | |
|
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 | |
|
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 | ||
1 użytkownik(ów) przegląda ten temat (1 gości)
SCJP 6 | SCWCD 5 | SCBCD 5
;-(