在Facebook上发表评论,Jodd是一个httpclient

时间:2013-11-05 03:14:44

标签: java facebook http jodd

如何在登录后使用Joddhttpclient在我的个人资料上发表评论?

final HttpBrowser browser = new HttpBrowser();

HttpRequest request = HttpRequest.get("www.facebook.com");
browser.sendRequest(request);

String page = browser.getPage();
Jerry doc = Jerry.jerry(page);

// process login form
doc.form("#login_form", new JerryFormHandler() {
    public void onForm(Jerry form, Map<String, String[]> parameters) {

        String formAction = form.attr("action");
        HttpRequest loginRequest = HttpRequest.post(formAction);

        for (Map.Entry<String, String[]> entry : parameters.entrySet()) {
            String[] values = entry.getValue();
            String name = entry.getKey();

            for (String value : values) {
                loginRequest.form(name, value);
            }
        }

        // overwrite form parameters
        loginRequest.form("email", "your-email-here", true);
        loginRequest.form("pass", "your-password-here", true);

        browser.sendRequest(loginRequest);
    }
});

// this is your personal page:
System.out.println(browser.getPage());

1 个答案:

答案 0 :(得分:0)

虽然这不是一个编程问题,但让我试着回答:) Jodd Http 是一个http库,它也允许你模拟浏览器,从某种意义上说它保留会话,所以你可以例如登录某个站点并继续在同一会话中发送请求。

因此,问题与你正在使用的工具(不错的选择顺便说一句:)有关,但与Facebook的工作方式有关。由于我们未在此处使用其API,因此您必须自行进行调查。最好的方法是使用真正的浏览器和开放的开发人员工具(所有浏览器都有)。在开发人员工具中,通常会有一个名为“Net”的选项卡,您可以在其中查看浏览器和站点之间的所有流量。只需过滤掉非HTML请求,删除所有加载图片,脚本,CSS的请求......

现在只需在浏览器中执行您的步骤并观察正在发送的内容。然后只需使用 Jodd :)

回复相同的请求

以下是添加朋友的一个此类请求的示例:

facebook request example

我只是回复相同的请求(用于测试目的)和 voila ,10分钟后,测试帐户得到了这么多朋友:)