Java를 사용하여 웹 사이트에 로그인하려고하는데 성공했습니다. 아래는 내가 사용한 코드입니다.https/http 프로토콜 (Java)을 사용하여 로그인 한 후 웹 사이트를 탐색하는 방법
String query = "myquery";
URL url = new URL(loginUrl);
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content-length", String.valueOf(query.length()));
con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
con.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0;Windows98;DigExt)");
con.setDoOutput(true);
con.setDoInput(true);
DataOutputStream output = new DataOutputStream(con.getOutputStream());
output.writeBytes(query);
output.close();
DataInputStream input = new DataInputStream(con.getInputStream());
for(int c = input.read(); c != -1; c = input.read()) {
System.out.print((char)c);
// this page returns JavaScript code
}
이 후, 동일한 도메인의 다른 웹 페이지에 액세스하려고하므로 아래 코드를 시도했습니다.
URL url = new URL(anotherUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
... similar to above code ...
그러나이 페이지에는 다시 로그인하라는 메시지가 표시됩니다. URL 연결을 변경하는 과정에서 연결이 끊어 졌다고 생각합니다. (Onlt 로그인 페이지는 HTTPS
프로토콜을 사용하고 다른 페이지는 HTTP
프로토콜을 사용합니다.
어떻게 해결할 수 있습니까? 누군가 도와주세요
당신이 사용하는 HTTPS를 쿠키를 보내려면 을, 단순히 우리가 쿠키 속성을 추가하는의 URLConnection의()를 연결 호출 두 번째 것은 HTTP입니다. 왜 연결 상태를 유지하려고합니까? – KyleM
죄송합니다. 로그인 페이지 만 HTTPS를 사용하고 다른 페이지는 HTTP를 사용합니다. 그래서 나는 혼란 스럽다 ... – soonoo
웹 브라우저에서 웹 사이트에 액세스하면 어떻게됩니까? HTTPS에서 HTTP로 변경됩니까? 로그인 상태입니까? – KyleM