我正在加载一个网站,一旦完成就会重定向到新网页。我希望重定向的网站应该被jsoup解析并返回。以下是我在Android Studio中使用的代码:
class RetrieveListTask1 extends AsyncTask<String, Void, List<String>> {
Document doc;
protected List<String> doInBackground(String... urls) {
try {
doc = Jsoup.connect("https://mahabhulekh.maharashtra.gov.in/Pune/Pune.html").get();
Log.d("Element : ",doc.toString());
} catch (Exception e) {
e.printStackTrace();
return null;
}
return null;
}
上面提到的链接重定向到https://mahabhulekh.maharashtra.gov.in/Pune/Home.aspx。您可以查看它。 我无法直接加载https://mahabhulekh.maharashtra.gov.in/Pune/Home.aspx,就像我直接加载它一样,它会转移回主页。
答案 0 :(得分:0)
重定向实际上是通过提交表单的Javascript代码执行的。 希望我们可以用Jsoup提交表格。
// Load document as usual...
Document doc = Jsoup.connect("https://mahabhulekh.maharashtra.gov.in/Pune/Pune.html").get();
// Find the form
FormElement form = (FormElement) doc.getElementById("frmrd");
if (form == null) {
// Form not found...
} else {
doc = form.submit().execute().parse();
System.out.println("Document base uri: " + doc.baseUri());
System.out.println("Content: " + doc.outerHtml());
}
Document base uri: https://mahabhulekh.maharashtra.gov.in/Pune/Home.aspx
Content: <!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<link href="Style/MainStyle.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
window.onload = function divisionName() {
switch (document.getElementById('param').value) {
case "1":
document.getElementById('divisionName').innerHTML = 'अमरावती विभाग';
...