Al acceder a una URL usando Java, si la URL requiere autenticación, no se puede acceder directamente porque no hay inicio de sesión. Entonces, ¿cómo resolver este problema?
El método es usar Java para simular el inicio de sesión, registrar la información de las cookies después de iniciar sesión y enviar la cookie para indicar la identidad la próxima vez que inicie una solicitud, para que pueda acceder a la URL con permisos.
El siguiente es el primer paso para introducir el uso de Java para simular el inicio de sesión.
// Dirección de conexión (obtenida leyendo el código fuente HTML, es decir, la URL enviada por el formulario de inicio de sesión) String Surl = "http://login.goodjobs.cn/index.php/action/userlogin"; /*** Primero, debe hablar con la URLConnection bajo la URL. URLConnection se puede obtener fácilmente de las URL. Por ejemplo: // usando * java.net.url y //java.net.urlconnection */url url = new url (surl); Httpurlconnection Connection = (httpurlconnection) url.openconnection (); /*** Luego establezca la conexión al modo de salida. UrlConnection generalmente se usa como entrada, como descargar una página web. * Al configurar URLConnection a la salida, puede transferir datos a su página web. Aquí se explica cómo hacerlo: */ Connection.SetDoOutput (verdadero); / ** * Finalmente, para obtener salidas, por simplicidad, restringirlo en el escritor y ponerlo en información posterior, por ejemplo: ... */ outputStreamWriter out = new OutputStreamWriter (conexión .getOutputStream (), "GBK"); // El nombre de miembro y la contraseña también se conocen leyendo el código HTML, es decir, el nombre del parámetro correspondiente en el formulario es out.write ("memberName = myMemberName & Password = myPassword"); // La clave para publicar es! // recuerda limpiar out.flush (); out.close (); // Obtener una cookie es equivalente a registrar la identidad, y se usa para el uso de String Cookieval = Connection.Getheaderfield ("Set-Cookie");Después de iniciar sesión con éxito, puede acceder a otras URL.
Cadena S = "http://user.goodjobs.cn/dispatcher.php/module/resume/action/preview"; // reabrir una URL de conexión = nueva URL (s); Httpurlconnection reumeConnection = (httpurlconnection) url .openconnection (); if (cookieval! = null) {// Enviar información de cookies para indicar su identidad, de lo contrario se considerará que no tiene permiso reanurarse. } reumeConnection.connect (); InputStream urlStream = reumeConnection.getInputStream (); BufferedReader BufferedReader = new BufferedReader (new InputStreamReader (URLStream)); Cadena ss = nulo; String Total = ""; while ((ss = bufferedReader.readline ())! = null) {total += ss; } Ioutils.write (total, nuevo fileOutputStream ("d: /index.html")); BufferedReader.close (); A través del método anterior, puede acceder a la URL con control de permiso. La idea es: simular el inicio de sesión, obtener una cookie para registrar su identidad y enviar una cookie para indicar su identidad al solicitar la próxima vez.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.