Ao acessar um URL usando Java, se o URL exigir autenticação, ele não poderá ser acessado diretamente porque não há login. Então, como resolver esse problema?
O método é usar o Java para simular o login, registrar as informações do cookie após o login e enviar o cookie para indicar a identidade na próxima vez que você iniciar uma solicitação, para que você possa acessar o URL com permissões.
A seguir, é apresentado o primeiro passo para introduzir o uso de Java para simular o login.
// Endereço de conexão (obtido lendo o código -fonte HTML, ou seja, o URL enviado pelo formulário de login) String SURL = "http://login.goodjobs.cn/index.php/action/userlogin"; /*** Primeiro, você precisa conversar com a URLConnection sob o URL. O URLConnection pode ser facilmente obtido dos URLs. Por exemplo: // usando * java.net.url e //java.net.urlConnection */url url = novo url (surl); Conexão httpurlConnection = (httpurlConnection) url.openconnection (); /*** Em seguida, defina a conexão no modo de saída. O URLConnection é geralmente usado como entrada, como baixar uma página da web. * Ao definir o URLConnection para saída, você pode transferir dados para sua página da web. Aqui está como fazer: */ Connection.SetDoOutput (true); / ** * Finalmente, para obter o outputstream, para simplificar, restriná -lo ao escritor e coloque -o nas informações postais, por exemplo: ... */ outputStreamWriter out = new OutputStreamWriter (Connection .getOutstream (), "GBK"); // O nome do membro e a senha também são conhecidos lendo o código HTML, ou seja, o nome do parâmetro correspondente no formulário está fora.WRITE ("membroName = myMemberName & senha = myPassword"); // A chave para postar é! // Lembre -se de limpar.flush (); out.Close (); // Obter um cookie é equivalente a gravar a identidade e é usado para o uso de String Cookieval = Connection.getheaderfield ("set-cookie");Depois de fazer login com sucesso, você pode acessar outros URLs.
String s = "http://user.goodjobs.cn/dispatcher.php/module/resume/action/preview"; // reabrir um URL (s) (s) (s) de conexão; HttpurlConnection retumEConnection = (httpurlConnection) url .openconnection (); se (cozinheiro! = nulo) {// Envie informações de cookie para indicar sua identidade, caso contrário, você será considerado como não ter permissão resumeconnection.setRequestProperty ("cookie", cozinheiro); } resumeconnection.connect (); InputStream urlStream = resumeConnection.getInputStream (); BufferReader buffaredReader = new BufferredReader (new InputStreamReader (URLStream)); String ss = nulo; String total = ""; while ((ss = buffersader.readline ())! = null) {total += ss; } Ioutils.write (total, new FileOutputStream ("d: /index.html")); BufferredReader.Close (); Através do método acima, você pode acessar o URL com controle de permissão. A idéia é: simule o login, obtenha um cookie para gravar sua identidade e enviar um cookie para indicar sua identidade ao solicitar a próxima vez.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.