我正在尝试查看是否可以登录网站,之后我将拨打电话提取一些数据。我从一个不需要登录的网站上做后者:
doc = Jsoup.connect("https://pilotweb.nas.faa.gov/PilotWeb/notamRetrievalByICAOAction.do?method=displayByICAOs").data("retrieveLocId", params[0])
.data("formatType", "ICAO").data("reportType", "RAW").data("actionType", "notamRetrievalByICAOs")
// .userAgent("Mozilla")
// .cookie("auth", "token")
.timeout(6000).post();
这很完美,所以我想在其他网站上做同样的事情,但我需要先登录。
所以我已经将网页剥离到最近的数量,试着看看登录工作需要什么,我有以下内容:
<script src="https://www.airservicesaustralia.com/naips/Scripts/2012.1.214/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="https://www.airservicesaustralia.com/naips/Scripts/jquery-ui-1.8.18.custom.min.js" type="text/javascript"></script>
<form action="https://www.airservicesaustralia.com/naips/Account/LogOn" id="frmLogon" method="post">
<input name="UserName" value="login_goes_here" />
<input name="Password" value="password_goes_here"/>
<input type="hidden" value="Submit" data-type="submit" />
</form>
<script src="https://www.airservicesaustralia.com/naips/Scripts/napis/naips.js?v0.0076" type="text/javascript"></script>
如果我现在按下提交按钮,登录成功。但是,我现在已经知道整个事情在脚本方面是如何工作的。所以我在这个阶段的问题是,甚至可以从Android内部构建一个调用来获得成功的登录,这样我就可以使用我目前正在使用的相同样式的jsoup.connect吗?
我在想我必须查看naips.js脚本,或者找出它最终用于提交的内容,但我不确定。任何帮助将不胜感激。
...加文
答案 0 :(得分:0)
我实际上是通过查看Chrome中的元素信息来解决这个问题。我可以看到javascript正在创建的提交按钮,然后我只是手动将其放入HTML中,然后可以删除所有脚本