논문 논문의 일부로 C 프로그래밍의 공식 포럼을 크롤링하고 응답을 게시하기 위해 자주 묻는 질문을 검색하는 "봇"을 구성했습니다. 나는 적절한 답장을 게시 할 수 있도록 로그인을 시뮬레이트해야한다는 부분에 있습니다. 로그인 양식은 다음과 같다 :!Java를 사용하여 vbulletin 포럼에 로그인
- 로그인 폼 - 양식 액션 = "login.php 할 = 로그인"방법 = "게시"onsubmit = "md5hash (vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)" > 스크립트 유형 = "text/javascript"src = "clientscript/vbulletin_md5.js? v = 385"> smallfont "스타일 ="공백 : 파라미터 nowrap; "> Όνομα χρήστη TD>
TD 클래스 ="smallfont "파라미터 nowrap ="파라미터 nowrap "> Αυτόματη Σύνδεση /TR> TR> TD 클래스 = "smallfont"> Κωδικός TD> TD> /TR> /테이블>
입력 TYPE = "숨겨진"NAME = "S"의 값 = ""/> 입력 타입 = "숨겨진" 입력 유형 = "숨김"name = "vb_login_md5password"/> 입력 유형 = "게스트"/ 입력 유형 = "숨김"이름 = "보안" 숨겨진 "이름 ="vb_login_md5password_utf "/> /FORM> ! -/로그인 폼 ->
내가 MD5 해시에 암호가 필요하지만 난 전혀 로그인 할 수 있음을 이해하게 한. 나는 포스트 방법을 사용하고 난 다음을 수행 내용 준비 :
urlConnection = (HttpURLConnection)(new URL(targetUrl).openConnection());
// Specifying that we intend to use this connection for input
urlConnection.setDoInput(true);
// Specifying that we intend to use this connection for output
urlConnection.setDoOutput(true);
// Specifying the method of HTTP request which is POST
// throws ProtocolException
urlConnection.setRequestMethod("POST");
// Specifying the content type of our post
urlConnection.setRequestProperty("Content-Type", POST_CONTENT_TYPE);
urlConnection.setRequestProperty("Content-length",String.valueOf (content.length()));
// urlConnection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)");
// Prepare an output stream for writing data to the HTTP connection
// throws IOException
dataOutputStream = new DataOutputStream(urlConnection.getOutputStream());
dataOutputStream.writeBytes(content);
그럼에도 불구하고, 내가 로그인 할 수 없습니다 :
content = "do=login&url=login.php" + "&vb_login_md5password=" + md5_pass+ "&vb_login_md5password_utf="+ md5_pass + "&s=&securitytoken=guest&vb_login_username=" + UserName + "&vb_login_password=" + PassWprd;
난 후 다음을 수행하여 주장 보낼 수 있습니다. 나는 내가 보내는 형태로 잘못되었지만 무엇을 찾을 수없는 것 같아요. 며칠 만에 프로그램을 마치면 도움이 될 것입니다.
나는 당신이 말한대로했고 올바른 형식과 올바른 POST 로그인 링크를 발견하고 마침내 성공했습니다. 도움을 주셔서 감사합니다 : P – fysob
@fysob 코드로 답변을 올리시겠습니까? 나는 vbulletin 포럼에서 똑같은 것을 성취하려고 노력하고있다. – localhost