2016-02-29 155 views
1

我遇到的问题与POST数据发送到这个网站:饼干Jsoup

https://www.amazon.com/ap/signin?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.assoc_handle=amzn_mturk_worker&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&_encoding=UTF8&openid.mode=checkid_setup&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.pape.max_auth_age=43200&marketplaceId=A384XSLT9ODACQ&clientContext=703ea210dfe6fd07defd5ab30ac8d9&openid.return_to=https%3A%2F%2Fwww.mturk.com%2Fmturk%2Fendsignin` 

我使用Jsoup。我试图用同样的Cookie“会话ID”为获取数据,但我仍然没有登录,这是我的代码:

Connection.Response res = Jsoup.connect("https://www.amazon.com/ap/signin?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.assoc_handle=amzn_mturk_worker&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&_encoding=UTF8&openid.mode=checkid_setup&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.pape.max_auth_age=43200&marketplaceId=A384XSLT9ODACQ&clientContext=703ea210dfe6fd07defd5ab30ac8d9&openid.return_to=https%3A%2F%2Fwww.mturk.com%2Fmturk%2Fendsignin").data("email", "[email protected]", "password", "blah").method(Connection.Method.POST).execute(); 
Document doc2 = res.parse(); 
sessionId = res.cookie("session-id"); 

Document doc = Jsoup.connect("https://www.mturk.com/mturk/searchbar?selectedSearchType=hitgroups&minReward=0.00&sortType=LastUpdatedTime%3A1&pageSize=50").cookie("SESSIONID", sessionId).get(); 

凡电子邮件和密码是真实的信息,而不是“嗒嗒”。我不知道我的问题是如何解析cookie或最初发送POST数据。

编辑:所以该网站使用OpenID。不知道我是否应该提出一个全新的问题,但现在我该怎么做?登录后,我基本上需要登录并从站点获取信息。这里是我的发布信息:

appActionToken:pj2FxGfwLZT6nheliE7BMxwZrTUKEj3D 
appAction:SIGNIN 
clientContext:ape:NzAzZWEyMTBkZmU2ZmQwN2RlZmQ1YWIzMGFjOGQ5 
openid.pape.max_auth_age:ape:NDMyMDA= 
openid.return_to:ape:aHR0cHM6Ly93d3cubXR1cmsuY29tL210dXJrL2VuZHNpZ25pbg== 
prevRID:ape:S1kyUFNDUkhLVFZSSjRGMjBYUUo= 
openid.identity:ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvYXV0aC8yLjAvaWRlbnRpZmllcl9zZWxlY3Q= 
openid.assoc_handle:ape:YW16bl9tdHVya193b3JrZXI= 
openid.mode:ape:Y2hlY2tpZF9zZXR1cA== 
openid.ns.pape:ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvZXh0ZW5zaW9ucy9wYXBlLzEuMA== 
openid.claimed_id:ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvYXV0aC8yLjAvaWRlbnRpZmllcl9zZWxlY3Q= 
pageId:ape:YW16bl9tdHVya193b3JrZXI= 
openid.ns:ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvYXV0aC8yLjA= 
email: -Deleted- 
create:0 
password: -Deleted- 
metadata1:+gLgZV5Fc5cBh44WnOrKTq5ofl6IhGvSbZGHfX7T5PuwmIl0Ep4bclt77iRlLPO1thRNg/9TylDw5H/9UPZnuOcF1OAHaECaWmK9H8pkW0elpz5QgEukM4aP6dPwSliw9Ggy+1/vQCk0MLm2TvkyS8uLslyh2aEw4H7hDmcF6lTgctZVE8B2KENH97L7hp4rcR2NHKMm4tEFdwpmVqv+pmLX5rUBo4p2QNUe3g0dNAifuK3RPXCVSQyQHpUzlBuFZTFK9xspwA2dgcdSZcgQzgzQKik/WEDrn0eP4sAVnO1ZGFUWKFAY55Lzgf6yd6WxCZ15yGTWENf0Km9wnXce+Ev5SMarXPJNQtfqY6tdp5snwFxpB8m/x72AvRgWJACoi5qcyqwO6dxroebIyB9uruApIkUk07AD8bJvhcf92+flN9TY4iXCkIoeSUN5aKp8rJbyhspySgsmQ9guu4964qeQRK0J092/sx1De6VmfGQ3nMrr0+McnC4/wZo2jUhGOr62ow==` 
+0

您是否收到错误?如果是这样,请发布。 – shmosel

+0

没有错误。它只是不发表任何内容。 – user2053310

回答

0

您正在尝试登录的网站使用Javascript。由于Jsoup不支持JavaScript(截至撰写本文时为Jsoup 1.8.3),我建议您使用一些更好的方法:ui4jSelenium。这是你的选择。

+0

我正试图这样做。我很难弄清楚这个登录信息。我有ap_email和ap_password。有什么我错过提交? – user2053310

+0

@ user2053310我不能说出你错过了什么。许多细节可以隐藏起来。正如TDG所说,使用开发人员工具来获取所有这些详细信息,尤其是请求和Cookie,然后使用'FormElement'来不丢失任何POST参数。 – Stephan

+0

该网站使用的是openid。你知道FormElement是否会对此有所帮助? – user2053310