metoda post

0

Cześć!

Chce napisać program, który loguje sie na moje konto na stronie
wbk i pobiera z niego dane dotyczące stanu konta. Wbk używa https, dane muszą być wysłane metodą post. Do wysłania danych metodą post uzywam HttpsURLConnection. Nie wiem jednak jak sprawdzić czy dane wysyłane są poprawnie oraz jak odebrać wynik. Wydaje mi się że samo wysłanie loginu i hasła nie spodowuje wygenerowanie danych. Nalezy wyslać także dane, ktore spowodują wciśnięcie przycisku Akceptuj jaki tam występuje.

Podaje adres strony wbk, jkaby ktos chciał zajrzeć w kod źródłowy.
https://www.centrum24.pl/bzwbkonline/eSmart.html?typ=13&lang=pl

Oto moje niedziałąjący program:

package wbk;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;

import javax.net.ssl.HttpsURLConnection;

public class MakeConnection {

private static URL url;
private static HttpsURLConnection con;
private static PrintWriter out;
private static BufferedReader in,err;
private static String line;
private static String data;
private static String enter;

public static void connection() {
try {
data = URLEncoder.encode("id", "UTF-8") + "=" + URLEncoder.encode(login, "UTF-8");
data += "&" + URLEncoder.encode("haslo", "UTF-8") + "=" + URLEncoder.encode(haslo, "UTF-8");
data += "&" + URLEncoder.encode("f1","UTF-8")+ "=" + URLEncoder.encode("onSubmit","UTF-8");
url = new URL("https://www.centrum24.pl/bzwbkonline/eSmart.html?typ=13&lang=pl");
con = (HttpsURLConnection)url.openConnection();
con.setRequestProperty("ContentType", "application/x-www-form-urlencoded");
con.setDoOutput(true);
con.setRequestMethod("POST");
con.connect();
out = new PrintWriter(con.getOutputStream());
out.write(data);
out.flush();
in = new BufferedReader(new InputStreamReader(con
getInputStream()));
while((line = in.readLine())!=null) {
System.out.println(line);
}
in.close();
out.close();
}catch(IOException e) {
System.out.println(e.getMessage());
}
}

public static void main(String[] args) {
	connection();
}

}

0
pfiction napisał(a)

Wydaje mi się że samo wysłanie loginu i hasła nie spodowuje wygenerowanie danych.

Dobrze Ci się wydaje, ale to pod jednym warunkiem, że wyślesz wszystkie dane, które są w formularzu łącznie z danymi ukrytymi. Odwołujesz się do strony interenetowej więc zawsze dostaniesz coś w opowiedzi. Jeśli klikasz na przycisk na stronie to twoja przeglądarka wysyła odpowienie żądanie do serwera.

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