2013-04-10 5 views
2

Я пытаюсь подключиться к сайту с базовым именем пользователя & аутентификации паролей, хранить файлы cookie и анализировать данные с сайта, для которого требуются файлы cookie, указанные на странице входа. Анализ синтаксического анализа отлично работает при использовании копии веб-сайта с локального веб-сервера Apache. Это аутентификация вызывает у меня проблемы. Я использую Eclipse, как мой IDE, и я получаю сообщение об ошибке с помощью следующего фрагмента кода:Проверка подлинности JSoup POST

Response res = Jsoup 
     .connect("site_with_login") 
     .data("login", "MyUsername") 
     .data("pass", "MyPassword") 
     .method(Method.POST) 
     .execute(); 

    //Keep logged in 
    Map<String, String> cookies = res.cookies(); 

.method(Method.POST) является проблемой, потому что ошибка в POST. Вот результат при выполнении синтаксического анализа:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
POST cannot be resolved or is not a field 

at parseHTML.main(parseHTML.java:26) 

Это странно, потому что много сообщений здесь, на StackOverflow упоминания, что excact способа аутентификации. Я импортировал все упакованные и имею файл jsoup-1.7.2.jar в своей библиотеке.

Кто-нибудь знает, как я могу решить эту неприятную проблему?

Заранее спасибо.

Edit: настоящее время я использую следующие пакеты:

import org.jsoup.Connection.Method; 
    import org.jsoup.Connection; 
    import org.jsoup.Jsoup; 
    import org.jsoup.helper.HttpConnection.Response; 
    import org.jsoup.nodes.Document; 
    import org.jsoup.nodes.Element; 
    import org.jsoup.select.Elements; 

Весь блок кода, который я разместил теперь дает следующую ошибку:

Type mismatch: cannot convert from Connection.Response to HttpConnection.Response 

The whole code is available here

+0

Пожалуйста, добавьте полный код. Его трудно помочь без контекста ... – BobTheBuilder

+0

Я добавил его как ссылку pastebin, казалось, было проще. – Argo

ответ

2

Я думаю, вы используете неправильный импорт.

Убедитесь, что вы используете:

.method(Connection.Method.POST) 

Убедитесь, что вы импортировать: org.jsoup.Connection.Method и не java.lang.reflect.Method

Другой вопрос импорта:

import org.jsoup.Connection.Response;

вместо:

import org.jsoup.helper.HttpConnection.Response; 
+0

, пожалуйста, добавьте его на вопрос – BobTheBuilder

+0

Значит, это помогло? но вы получаете новую проблему? – BobTheBuilder

+0

См. Обновленный OP – Argo

Смежные вопросы