如何使用Jsoup将数据发布到网站

Asp*_*ant 26 java post jsoup

我正在尝试将数据发布到网站上,使用Jsoup登录网站,但它不起作用?

我正在尝试代码

    Document docs = Jsoup.connect("http://some.com/login")
        .data("cmd", "login","username", "xxxx","password", "yyyyy")
        .referrer("http://some.com/login/").post();
Run Code Online (Sandbox Code Playgroud)

这里是在pagesource中提供正常的登录页面

我也尝试过代码

 Document docs = (Document) Jsoup.connect("http://some.com/login")
    .data("cmd", "login","username", "xxxx","password", "yyyyy")
    .referrer("http://some.com/login/").method(Method.POST).execute().parse();
Run Code Online (Sandbox Code Playgroud)

这里也是在pagesource中再次登录的正常页面.

任何有关相同的建议将非常感谢!!

谢谢....

vik*_*iii 32

我举一个例子来回答你的问题.假设您要登录Facebook.

然后除了用户名和密码之外,还有许多其他参数也通过POST请求传递.这些所有参数都是隐藏的,并且像用户名和密码一样传递.例如 :

如果你打开html sourcefacebook,那么你可以看到有一个隐藏的参数是lgnrnd它的值071129_5D7M.

所以还有很多其他类似的参数.你需要传递所有的参数.你还应该指定userAgent.

Document doc = Jsoup.connect("http://www.facebook.com")
.data("email", "myemailid")
.data("pass", "mypassword")
// and other hidden fields which are being passed in post request.
.userAgent("Mozilla")
.post();
System.out.println(doc); // will print html source of homepage of facebook.
Run Code Online (Sandbox Code Playgroud)

  • 我不认为你做错了.我已经通过facebook上的jsoup登录.Jsoup有其局限性.可以在Javascript上工作​​. (2认同)