Хотите проанализировать всю страницу из лазурного внутри приложения для Android.На данный момент, когда я пытаюсь разобрать html-страницу, в теле ответа я получаю только частично проанализированное тело.Кажется, что парсер не идет глубже, чем какой-то тег.
Код функции Android
private void retrofit2_1() {
Interceptor interceptor = new Interceptor() {
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
okhttp3.Request original = chain.request();
String login = "login";
String pass = "pass";
String authToken = Credentials.basic(login, pass);
okhttp3.Request request = original.newBuilder()
.header("Authorization", authToken)
.method(original.method(), original.body())
.build();
return chain.proceed(request);
}
};
OkHttpClient okHttpClient = new OkHttpClient.Builder().addInterceptor(interceptor).build();
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(ScalarsConverterFactory.create())
.baseUrl("website")
.client(okHttpClient)
.build();
ScalarService scalarService = retrofit.create(ScalarService.class);
Call<String> stringCall = scalarService.getStringResponse("website");
stringCall.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, retrofit2.Response<String> response) {
if (response.isSuccessful()) {
String responseString = response.body();
System.out.println(responseString);
}
}
@Override
public void onFailure(Call<String> call, Throwable t) {
System.out.println(t.getMessage());
}
});
}
interface ScalarService {
@GET()
Call<String> getStringResponse(@Url String url);
}
Код тела ответа Внутри вы можете увидеть тег, который является последним проанализированным, так что он сделалзайдите внутрь этого
<!DOCTYPE html>
<html lang="en">
<head>
<base href="/" />
<title>Loading...</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link href="/Content/npm.css/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="/Content/site.css/sb-admin.css" rel="stylesheet" />
<link href="/Content/npm.css/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="/Content/site.css/custom.css" rel="stylesheet">
<script src="/Scripts/npm.js/core-js/client/shim.min.js"></script>
<script src="/Scripts/npm.js/zone.js/dist/zone.min.js"></script>
<script src="/Scripts/npm.js/systemjs/dist/system.js"></script>
<script src="/Scripts/site.js/systemjs.config.js"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div id="wrapper">
<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Title</a>
</div>
<!-- Top Menu Items -->
<ul class="nav navbar-right top-nav" >
<li class="dropdown" userinfo>
</li>
</ul>
<!-- Sidebar Menu Items - These collapse to the responsive navigation menu on small screens -->
<div id="cl" class="collapse navbar-collapse navbar-ex1-collapse">
<sidebar></sidebar>
</div>
<!-- /.navbar-collapse -->
</nav>
<div id="page-wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<pagecontent></pagecontent>
</div>
</div>
</div>
</div>
</div>
<script>
System.import("bootstrap");
System.import("jsplumb");
System.import("app");
</script>
</body>
</html>
Я ожидал, что полностью разобранная страница в теле ответа Может быть, мне нужно изменить какой-то параметр, который контролирует, насколько глубоко должен идти парсер, но не нашел в документах Одна вещь, которую я нашел, этоон должен выдавать исключение, если содержимое слишком велико, но у меня нет таких исключений