Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 与Jodd一起在facebook上发表评论_Java_Facebook_Http_Jodd - Fatal编程技术网

Java 与Jodd一起在facebook上发表评论

Java 与Jodd一起在facebook上发表评论,java,facebook,http,jodd,Java,Facebook,Http,Jodd,登录后,如何在我的个人资料上使用Jodd和httpclient发表评论 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

登录后,如何在我的个人资料上使用
Jodd
httpclient
发表评论

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());
final-HttpBrowser=new-HttpBrowser();
HttpRequest request=HttpRequest.get(“www.facebook.com”);
browser.sendRequest(请求);
String page=browser.getPage();
Jerry doc=Jerry.Jerry(第页);
//处理登录表单
doc.form(“#登录#form”,新JerryFormHandler(){
公共void onForm(Jerry表单、映射参数){
String formAction=form.attr(“action”);
HttpRequest loginRequest=HttpRequest.post(formAction);
对于(Map.Entry:parameters.entrySet()){
String[]values=entry.getValue();
字符串名称=entry.getKey();
for(字符串值:值){
loginRequest.form(名称、值);
}
}
//覆盖表单参数
loginRequest.form(“电子邮件”,“您的电子邮件在此”,true);
loginRequest.form(“pass”,“此处的密码”,true);
browser.sendRequest(loginRequest);
}
});
//这是您的个人页面:
System.out.println(browser.getPage());

虽然这不是一个编程问题,但让我试着回答:)Jodd Http是一个Http库,它还允许您模拟浏览器,因为它保留了会话,所以您可以登录到某个站点并在同一会话中继续发送请求

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

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

下面是一个添加好友的请求示例:

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