J'essaie d'écrire un programme Java qui peut se connecter automatiquement à Facebook.Comment se connecter à Facebook par programmation en utilisant Java?
J'ai le code ci-dessous jusqu'à présent qui télécharge la page html à la maison dans une chaîne mais ne sais pas comment envoyer l'email et le mot de passe pour se connecter à Facebook? Le programme Java devra-t-il également gérer les cookies retournés pour rester connecté?
public static void main(String[] args) throws Exception {
URL url = new URL("http://www.facebook.com/");
URLConnection yc = url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(yc
.getInputStream()));
String inputLine;
String allInput = "";
while ((inputLine = in.readLine()) != null) {
allInput += inputLine + "\r\n";
}
System.out.println(allInput);
in.close();
}
}
Mise à jour:
J'ai essayé le code ci-dessous à l'aide HtmlUnit mais je reçois l'exception suivante:
Exception in thread "main" com.gargoylesoftware.htmlunit.ElementNotFoundException: elementName=[form] attributeName=[name] attributeValue=[login_form] at com.gargoylesoftware.htmlunit.html.HtmlPage.getFormByName(HtmlPage.java:588)
Quelqu'un sait pourquoi il en est?
final WebClient webClient = new WebClient();
final HtmlPage page1 = webClient.getPage("http://www.facebook.com");
final HtmlForm form = page1.getFormByName("login_form");
final HtmlSubmitInput button = (HtmlSubmitInput) form.getInputsByValue("Login").get(0);
final HtmlTextInput textField = form.getInputByName("email");
textField.setValueAttribute("[email protected]");
final HtmlTextInput textField2 = form.getInputByName("pass");
textField2.setValueAttribute("ahhhh");
final HtmlPage page2 = button.click();
Mais je reçois quelques exceptions comme Exception dans le thread "principal" java.lang.NoClassDefFoundError: org/apache/communes/httpclient/protocole/ProtocolSocketFactory. Pouvez-vous spécifier quelle version de Htmlunit jar doit être téléchargée juste pour s'assurer que j'ai fait la bonne chose? – lulu