Java를 사용하여 URL에 액세스 할 때 URL에 인증이 필요한 경우 로그인이 없어서 직접 액세스 할 수 없습니다. 그렇다면이 문제를 해결하는 방법은 무엇입니까?
이 방법은 Java를 사용하여 로그인을 시뮬레이션하고 로그인 한 후 쿠키 정보를 녹음 한 다음 쿠키를 보내 요청을 시작할 때 신원을 표시하여 권한으로 URL에 액세스 할 수 있도록하는 것입니다.
다음은 로그인을 시뮬레이션하기 위해 Java 사용을 소개하는 첫 번째 단계입니다.
// 연결 주소 (HTML 소스 코드, 즉 로그인 양식에 의해 제출 된 URL) 문자열 surl = "http://login.goodjobs.cn/index.php/action/userlogin"; /*** 먼저 URL 아래의 URLConnection과 대화해야합니다. URL에서 URLConnection을 쉽게 얻을 수 있습니다. 예를 들어 : // 사용 * java.net.url 및 //java.net.urlconnection */url url = new URL (SURL); httpurlConnection Connection = (httpurlConnection) url.openConnection (); /*** 그런 다음 출력 모드로 연결을 설정합니다. URLConnection은 일반적으로 웹 페이지 다운로드와 같은 입력으로 사용됩니다. * urlConnection을 출력으로 설정하면 데이터를 웹 페이지로 전송할 수 있습니다. 다음은 다음과 같습니다. */ Connection.setDoOutput (true); / ** * 마지막으로, outputStream을 얻으려면 단순화를 위해 작가에 제한하고 게시물 정보에 넣으십시오. 예 : ... */ outputStreamWriter out = new outputStreamWriter (connection .getOutputStream (), "gbk"); // MemberName과 암호는 HTML 코드를 읽음으로써 알려져 있습니다. // 게시 할 키는! // out.flush (); out.close (); // 쿠키를 얻는 것은 ID를 녹음하는 것과 동일하며 String Cookieval = Connection.getheaderfield ( "set-cookie")를 사용하는 데 사용됩니다.
성공적으로 로그인 한 후 다른 URL에 액세스 할 수 있습니다.
문자열 s = "http://user.goodjobs.cn/dispatcher.php/module/resume/action/preview"; // 연결 URL = New URL (S)을 다시 열었습니다. httpurlconnection remeconnection = (httpurlConnection) url .openConnection (); if (cookieval! = null) {// 쿠키 정보를 보내 신원을 표시하십시오. 그렇지 않으면 허가가없는 것으로 간주됩니다. } resumeConnection.connect (); inputStream urlstream = remeconnection.getInputStream (); bufferedReader bufferedReader = new bufferedReader (new inputStreamReader (urlStream)); 문자열 ss = null; 문자열 합계 = ""; while ((ss = bufferedReader.Readline ())! = null) {Total += ss; } ioutils.write (Total, 새 FileOutputStream ( "d :/index.html")); bufferedReader.close (); 위의 방법을 통해 권한 제어로 URL에 액세스 할 수 있습니다. 아이디어는 다음과 같습니다. 로그인 시뮬레이션, 신원을 기록 할 쿠키를 얻고 다음 번에 요청할 때 신원을 표시하기 위해 쿠키를 보내십시오.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.