Я пишу Java-программу, которая частично анализирует 200 уникальных страниц, которые требуют предварительного входа пользователя. Я использовал консоль разработчика Chrome, чтобы определить свой конкретный URL-адрес для входа (https://r.espn.go.com/members/v3_1/login),, чтобы убедиться, что процесс входа в систему использовал запрос POST и имена данных формы для моего имени пользователя (username) и пароля (password). При использовании метод, указанный автором этой записи для извлечения файла cookie SESSIONID для последующих запросов, возвращаемые заголовки сильно отличались, и файлы cookie не возвращались.
Я также попробовал следующий фрагмент кода, в котором используются Jsoup и Apache HttpClient, HttpPost и HttpResponse, который возвращает страницу входа:
MultipartEntity entity = new MultipartEntity();
entity.addPart("username", new StringBody(myUsername));
entity.addPart("password", new StringBody(myPassword));
HttpPost post = new HttpPost(url);
post.setEntity(entity);
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(post);
String html = EntityUtils.toString(response.getEntity());
Document document = Jsoup.parse(html, url);
Каждый пример, который я прочитал, имеет URL-адрес входа с суффиксом .php. Этот метод работает только со службой входа на основе PHP? Или я что-то делаю в корне неправильно?
Спасибо!