如何使用Jsoup将数据发布到网站
我试图将数据发布到网站,使用Jsoup登录网站,但它无法正常工作?
我正在尝试代码
Document docs = Jsoup.connect("http://some.com/login") .data("cmd", "login","username", "xxxx","password", "yyyyy") .referrer("http://some.com/login/").post();
这里是在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();
这里也是在pagesource中再次登录的正常页面。
任何有关相同的建议将受到高度赞赏!
谢谢….
我举一个例子来回答你的问题。 假设您要登录Facebook。
然后,除了用户名和密码之外,还有许多其他参数也通过POST
请求传递。 这些所有参数都是隐藏的,并且像用户名和密码一样传递。 例如 :
如果您打开facebook的html source
,那么您可以看到隐藏的一个参数是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.
如果问题是javascript重定向,您可以尝试进入javascript并检查它重定向到的URL是否是静态的,然后使用重定向来获取访问权限。 我这样做是为了访问一次由javascript制作的弹出框。
- 如何监控c3p0连接
- WebSockets – 创建渠道和推送数据的正确方法
- Spring Security 4.0.0 + ActiveDirectoryLdapAuthenticationProvider + BadCredentialsException PartialResultException
- 如何在处理中添加外部库
- 无法validation签名(cmssigneddata)bouncycastle
- logback.xml的perf4j设置
- CAS 4 – 成功validation后无法检索LDAP组
- Heroku- Web进程在启动后90秒内无法绑定到$ PORT。 TooTallNate Websockets
- 使用RESTlet进行细粒度身份validation