При доступе к URL -адресу с использованием Java, если URL требует аутентификации, к нему нельзя получить напрямую, потому что нет входа в систему. Итак, как решить эту проблему?
Метод состоит в том, чтобы использовать Java для моделирования входа в систему, записать информацию о файле cookie после входа в систему и отправить файл cookie, чтобы указать личность в следующий раз, когда вы инициируете запрос, чтобы вы могли получить доступ к URL с разрешениями.
Ниже приведен первый шаг, чтобы ввести использование Java для имитации входа в систему.
// Адрес подключения (полученный с помощью чтения исходного кода HTML, то есть URL -адрес, представленный формой входа в систему) String surl = "http://login.goodjobs.cn/index.php/action/userlogin"; /*** Во -первых, вам нужно поговорить с UrlConnection под URL. UrlConnection может быть легко получена из URL -адресов. Например: // Использование * java.net.url и //java.net.urlconnection */url url = new URL (SURL); Httpurlconnection connection = (httpurlconnection) url.openconcenection (); /*** Затем установите соединение в режим вывода. UrlConnection обычно используется в качестве ввода, например, загрузка веб -страницы. * Установив UrlConnection для вывода, вы можете перенести данные на свою веб -страницу. Вот как это сделать: */ connection.setDoOutput (true); / ** * Наконец, чтобы получить outputStream, для простоты, ограничьте его в писателе и поместите его в информацию, например: ... */ outputStreamWriter Out = new OutputStreamWriter (Connection .getOutputStream (), "gbk"); // MemberName и пароль также известны, читая код HTML, то есть соответствующее имя параметра в форме wut.write ("memberName = mymemberName & password = mypassword"); // Ключ к сообщению есть! // Не забудьте убрать out.flush (); out.close (); // Получение файла cookie эквивалентно записи идентификации, и он используется для использования строкового cookieval = connection.getheaderfield ("set-cookie");После успешного входа вы можете получить доступ к другим URL -адресам.
String s = "http://user.goodjobs.cn/dispatcher.php/module/resume/action/preview"; // повторно откройте соединение url = new URL (ы); Httpurlconnection resumeconnection = (httpurlconnection) url .openconcenection (); if (cookieval! = null) {// Отправить информацию cookie, чтобы указать вашу личность, в противном случае вы не будете считать, что у вас нет разрешения resumeconnection.setrequestproperty ("cookie", cookieval); } resumeconnection.connect (); InputStream urlStream = resumeConnection.getInputStream (); BufferedReader BufferedReader = new BufferedReader (New InputStreamReader (urlStream)); String ss = null; String total = ""; while ((ss = buffered reader.readline ())! = null) {total += ss; } Ioutils.write (total, new FileOutputStream ("d:/index.html")); BufferedReader.Close (); С помощью вышеуказанного метода вы можете получить доступ к URL с контролем разрешения. Идея такова: моделировать вход, получить файл cookie для записи вашей личности и отправить cookie, чтобы указать вашу личность при запросе в следующий раз.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.