0

登录后如何在我的个人资料上发表评论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());
4

1 回答 1

0

虽然这不是一个编程问题,但让我试着回答一下 :) Jodd Http是一个 http 库,它还允许您模拟浏览器,从某种意义上说,它保留了会话,因此您可以登录到某个站点并继续在同一个会话。

因此,这个问题与您使用的工具无关(顺便说一句,不错的选择:),而是与 Facebook 的工作方式有关。由于我们在这里没有使用它的 API,所以您必须自己调查。最好的方法是使用真正的浏览器并打开开发者工具(所有浏览器都有)。在开发人员工具中,通常有一个名为“Net”的选项卡,您可以在其中查看浏览器和站点之间的所有流量。只需过滤掉非 html 请求,删除所有加载图像、脚本、css 的请求......

现在只需在浏览器中执行您的步骤并查看正在发送的内容。然后只需使用Jodd回复相同的请求:)

这是一个这样的添加朋友请求的示例:

脸书请求示例

我刚刚回复了相同的请求(出于测试目的),,10 分钟后,测试帐户得到了很多朋友 :)

于 2013-11-08T09:39:29.870 回答