改造 2.0 解析 HTML
Retrofit 2.0 Parse HTML
我想知道是否有一种方法可以在 Android 上使用改造 2.0 来解析 HTML,或者如果没有,是否有一种方法可以简单地获取原始响应并自己解析它而无需通过转换器工厂强制结果,从而处理解析问题。
我试过使用 simplexml 转换器工厂,但大多数网页并不像典型的 XML API 那样严格,不一致会导致解析问题并最终导致崩溃。
如果想通过改造抓取网页,什么是好的方法?
if there is a way to simply get a raw response
我不知道如何解析 HTML,但您可以使用 response.body()
获得原始响应。见以下代码:
Call<Void> restCall = restClient.getUserService().readUserData(object);
restCall.enqueue(new Callback<Void>(){
@Override
public void onResponse(Response<Void> response) {
if(response.isSuccess()){
Log.d(TAG, " response from server" + response.body());
}else{
Log.d(TAG, " Some error occurred ");
}
}
@Override
public void onFailure(Throwable t) {
Log.d(TAG, " Web service failure, exception ");
}
});
接口:
@Headers("Content-Type: application/json")
@POST("user/readdata")
Call<Void> readUserData(@Body JsonObject jsonObject);
我想知道是否有一种方法可以在 Android 上使用改造 2.0 来解析 HTML,或者如果没有,是否有一种方法可以简单地获取原始响应并自己解析它而无需通过转换器工厂强制结果,从而处理解析问题。
我试过使用 simplexml 转换器工厂,但大多数网页并不像典型的 XML API 那样严格,不一致会导致解析问题并最终导致崩溃。
如果想通过改造抓取网页,什么是好的方法?
if there is a way to simply get a raw response
我不知道如何解析 HTML,但您可以使用 response.body()
获得原始响应。见以下代码:
Call<Void> restCall = restClient.getUserService().readUserData(object);
restCall.enqueue(new Callback<Void>(){
@Override
public void onResponse(Response<Void> response) {
if(response.isSuccess()){
Log.d(TAG, " response from server" + response.body());
}else{
Log.d(TAG, " Some error occurred ");
}
}
@Override
public void onFailure(Throwable t) {
Log.d(TAG, " Web service failure, exception ");
}
});
接口:
@Headers("Content-Type: application/json")
@POST("user/readdata")
Call<Void> readUserData(@Body JsonObject jsonObject);