#java #facebook #html-parsing #jsoup
#java #Facebook #html-синтаксический анализ #jsoup
Вопрос:
Я хочу обновить свой статус Facebook через мое консольное приложение Java. Я использую синтаксический анализатор HTML Jsoup.
Сначала мне нужно войти в учетную запись Facebook.
Document doc = Jsoup.connect("http://www.facebook.com")
.data("email", "myemailid")
.data("pass", "mypassword")
// And other fields which are being passed in post request.
.userAgent("Mozilla")
.post();
Когда я печатаю doc
на консоли, я вижу, что могу войти в систему, но этот вход осуществляется через Facebook Mobile. Почему не версия для ПК?
Можно ли использовать эту doc
переменную для обновления моего статуса Facebook?
Как я могу этого добиться?
Ответ №1:
Хотя в конечном итоге это может сработать, это неправильный способ общения с Facebook.
Facebook имеет официальный API, который следует использовать для публикации обновлений. restfb — хороший java-клиент для этого API.
Комментарии:
1. Как и браузер, когда мы входим в систему один раз, он сохраняет cookie, поэтому нет необходимости входить в систему снова, но когда после написания приведенного выше кода в eclipse, если я снова напишу тот же код без указания пароля и имени пользователя, он привел меня на страницу входа.. Итак, инструмент eclipse где-то хранит cookie?
2. Потому что вы не должны использовать приведенный выше код. Вы должны использовать API
3. Facebook имеет много файлов cookie, выполняет вход через https и другие последствия для безопасности.