Wenn Sie mit Java auf eine URL zugreifen, kann dies nicht direkt zugegriffen werden, da die URL eine Authentifizierung erfordert, da keine Anmeldung vorliegt. Wie kann man dieses Problem lösen?
Die Methode besteht darin, Java zum Simulieren von Anmeldung zu verwenden, die Cookie -Informationen nach der Anmeldung aufzunehmen und das Cookie zu senden, um die Identität beim nächsten Initiieren einer Anfrage anzugeben, damit Sie mit Berechtigungen auf die URL zugreifen können.
Das Folgende ist der erste Schritt, um die Verwendung von Java zur Simulation der Anmeldung einzuführen.
// Verbindungsadresse (erhalten durch das Lesen des HTML -Quellcodes, dh der vom Anmeldeformular eingereichten URL) String surl = "http://login.goodjobs.cn/index.php/action/userlogin"; /*** Erstens müssen Sie mit der UrlConnection unter der URL sprechen. UrlConnection kann leicht von URLs erhalten werden. Zum Beispiel: // verwenden * java.net.url und //java.net.urlConnection */url url = new url (surl); HttpurlConnection connection = (httpurlConnection) url.openconnection (); /*** Stellen Sie dann die Verbindung zum Ausgangsmodus ein. Die UrlConnection wird normalerweise als Eingabe verwendet, z. B. das Herunterladen einer Webseite. * Durch Einstellen von UrlConnection in die Ausgabe können Sie Daten auf Ihre Webseite übertragen. Hier erfahren Sie, wie es geht: */ Connection.SetDooutput (true); / ** * Schließlich, um OutputStream für den Einfachheit halber in den Schriftsteller einzuschränken und in Postinformationen einzugeben, zum Beispiel: ... */ outputStreamWriter out = new outputStreamWriter (Verbindung .GetOutputStream (), "GBK"); // Das Mitgliedsname und das Kennwort sind auch durch das Lesen des HTML -Codes bekannt, dh der entsprechende Parametername im Formular ist out. // Der Schlüssel zum Posten ist! // Denken Sie daran, aufzuräumen.flush (); out.close (); // Ein Cookie zu erhalten, entspricht der Aufzeichnung der Identität und wird zur Verwendung von String cookieval = Connection.GetheaDerfield ("Set-Cookie") verwendet.Nach erfolgreichem Anmeldung können Sie auf andere URLs zugreifen.
String s = "http://user.goodjobs.cn/dispatcher.php/module/resume/action/preview"; // Eröffnen Sie eine Verbindungs -URL = neue URL (s); HttpurlConnection resumeConnection = (httpurlConnection) url .OpenConnection (); if (cookieval! } ResumeConnection.Connect (); InputStream urlstream = resumeConnection.getInputStream (); BufferedReader BufferedReader = neuer BufferedReader (neuer InputStreamReader (urlstream)); String ss = null; String Total = ""; while ((ss = bufferedReader.readline ())! = null) {Total += ss; } Ioutils.write (insgesamt, neuer FileOutputStream ("d:/index.html")); bufferedReader.close (); Über die obige Methode können Sie mit Berechtigungssteuerung auf die URL zugreifen. Die Idee ist: Simulieren Sie die Anmeldung, erhalten Sie ein Cookie, um Ihre Identität aufzuzeichnen, und senden Sie ein Cookie, um Ihre Identität anzugeben, wenn Sie das nächste Mal anfordern.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.