Jak pobrac stronę, wymagającą zalogowania \ problem z POST

0

Witam
Próbowałem już różnych sposobów np. java Authenticator, jednak bezskutecznie. Zostaje pobrana jedynie strona logowania, na którą jest się przekierowanym, gdy nie jest się zalogowanym.
Jeśli komuś się taki wyczyn udał, bardzo proszę o pomoc lub jakąś wskazówkę.
Rozwiązanie w C# również by mnie satysfakcjonowało.

0
  1. Wysyłasz do strony logowania nazwę użytkownika i hasło
  2. Odbierasz od strony logowania ciasteczko z SID-em
  3. Odwołując się do innych stron wysyłasz także ciacho z SID-em
0

Wielkie dzieki za info. Wczoraj przez pół dnia próbowałem to zrobić, tak jak napisałeś.
Niestety wysyłanie żądania POST o zalogowanie (z poprawnym loginem i hasłem), wydaje się nie działać do końca poprawnie.
W odpowiedzi otrzymuję zwykłą stronę główną, która się wyświetla każdemu anonimowemu odwiedzającemu. Normalnie zaraz po zalogowaniu, przechodzi się także na stronę główną, jednak widać napis "Zalogowany jako..." Testowałem to na tym forum, a także na innych serwisach. Muszę dodać, że w przypadku podania złego hasła, otrzymuję stosowny komunikat: "brak takiego użytkownika".

Nie wiem, czy poprawnie wysyłam parametry . Oto interesujące nas wartości formularza:

<form action="http://4programmers.net/ucp.php?mode=login" method="post" id="logForm">
         <input type="hidden" name="referer" value="http://4programmers.net/Forum/viewtopic.php?id=123828" />
     <input type="text" name="login" size="30" maxlength="30" />
     <input type="password" name="password" size="30" maxlength="30" />
     <input type="checkbox" name="auto_login" /> Loguj podczas każdej wizyty</td>
     <input type="submit" name="submit" value="Logowanie" />
     <input type="submit" name="password_r" value="Przypomnij hasło" /></td> 

Oto mój kod w javie:

url = new URL("http://4programmers.net/ucp.php?mode=login");
		urlConn = (HttpURLConnection) url.openConnection();
			urlConn.setDoInput(true);
			urlConn.setDoOutput(true);
			urlConn.setUseCaches(true);
			urlConn.setFollowRedirects(true);
			// set request method
			urlConn.setRequestMethod("POST");
			// set request type
			urlConn.setRequestProperty("Content-Type",
					"application/x-www-form-urlencoded");
			// data-value pairs are separated by &
			String content = "login="
				+ URLEncoder.encode("Joseph1234") + "&"
				+ "password=" + URLEncoder.encode("mojehaslo") + "&"
				+ "referer=" + URLEncoder.encode("") + "&"
				+ "submit=" + URLEncoder.encode("Logowanie") + "&"
				+ "auto_login=" + URLEncoder.encode("false");
			urlConn.setRequestProperty("Content-Length", content.length() + "");

Czy te wartości id w formularzu (....method="post" id="logForm"...) również muszęjakoś uwzględniać w moim połączeniu?

Bardzo proszę o pomoc. Sam już nad tym bardzo długo siedziałem i nie mogę nic nowego wymyślić :(
Nawet jak z tego połączenia wyciągam SID i wykorzystuję go przy następnych połączeniach, to również nie działa. Zarówno przez javę, jak i przeglądarkę (&sid=......).

//dobra poradzilem juz sobie, temat nieaktualny ;]

0

A mógłbyś napisać jak sobie poradziłeś ? Z góry dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1