下载facebook页面源代码

时间:2013-02-19 21:37:14

标签: java facebook

我需要下载某个Facebook页面的源代码。 所以我以为我会登录到facebook,然后下载源代码。 但是关于我登录的信息很简单,当我尝试下载另一个URL的源代码时,我仍然注销了我的应用程序。

所以这是我的代码:

public class App 
{
    public static void main( String[] args ) throws IOException
    {
        System.out.println( "Hello World!" );

        final WebClient webClient = new WebClient();
        final HtmlPage page1 = webClient.getPage("http://www.facebook.com");
        final HtmlForm form = (HtmlForm) page1.getElementById("login_form");

        final HtmlSubmitInput button = (HtmlSubmitInput) form.getInputsByValue("Log In").get(0);
        final HtmlTextInput textField = form.getInputByName("email");
        textField.setValueAttribute("email");
        final HtmlPasswordInput textField2 = form.getInputByName("pass");
        textField2.setValueAttribute("password");
        final HtmlPage page2 = button.click();


        HtmlPage weread = webClient.getPage("http://apps.facebook.com/ireadit/?fb_source=bookmark_apps&ref=bookmarks&count=0&fb_bmpos=2_0");

                  System.out.println(weread.asXml());



    }

我希望你理解我的想法..有什么建议怎么做?

1 个答案:

答案 0 :(得分:0)

您似乎正在使用HtmlUnit,但未在问题中指明。

身份验证适用于Cookie。您尚未将其合并到您的代码中。首次登录时,服务器会向您发送cookie,您需要捕获cookie并重新发送后续请求。我对HtmlUnit不太熟悉,但看起来它有一个CookieManager类,你可以使用它来获取这样的cookie:

webClient.getCookieManager().getCookies();

您可能还想查看this question