我向服务器发出的请求是,响应为HTML
类型,如下所示:
<!DOCTYPE html>
<html>
<head>
<title>info starter</title>
</head>
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>بازی نما</title>
<style>
}
} }
body{margin: 0;direction: rtl; font-family: myFont;font-size: 16px;padding: 1em 2em;background: url('https://bazinama.vasapi.click/static/bazinama-files/images/boundry.jpg') top center;color: #fff;}.coins{float: left;font-size: 1.5em;margin-top: -0.2em;}.coin-img{width: 1.5em;margin: -0.1em 0.5em;float: left;animation: coin 1s infinite linear;-webkit-animation: coin 1s infinite linear;-moz-animation: coin 1s infinite linear;}.row{margin: 2em 0;}p{line-height: 2.4em !important;}.title{text-align: center;margin-bottom: 1.5em;}.title .bold{font-size: 1.5em;color: #ffc800;}.box{background: rgba(11, 111, 251, 0.9);padding: 1em;border-radius: 1em;-webkit-border-radius: 1em;-moz-border-radius: 1em;margin: 2em 0;}.mobile-icon{width: 70px;float: right;}
</style>
</head>
<body>
<h2 class="title">
<span class="bold"> استارتر،</span>، پلتفرم حمایت از بازی های ایرانی و بازی سازی ملی است.
</h2>
<p>گیمرها، شرکت ها و تیم هپردازند،. </p>
</body>
</html>
</body>
</html>
我用Retrofit这样设置请求:
@Headers("Accept: text/html")
@GET("pages/Bazinamamag/starter/")
Call<ResponseBody> getContactUsInfo();
并准备这样的请求:
@Override
public void getContactUsInfo(@Nullable final LoadContactUsCallback callback) {
final ApiService service = ServiceGenerator.createService(ApiService.class);
service.getContactUsInfo().enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
Log.d(TAG, "onResponse: " + response.body().string());
callback.onTasksLoaded(response.body().string());
} catch (IOException e) {
e.printStackTrace();
Log.e(TAG, "onResponse: " + e.getMessage());
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.e(TAG, "onFailure: " + t.getMessage());
callback.onDataNotAvailable();
}
});
}
但是始终无法获得作为响应的HTML
代码。
如何获取html响应?
谢谢。
答案 0 :(得分:1)
如果您使用的Api仅提供HTML,则可以告诉Retrofit请求HTML,例如:
@Headers("Accept: text/html")
@GET("myUrl")
Call<String> getContactUsInfo();
另外,请注意,在onResponse
中,响应可以是任何内容,将isSuccessful
包裹在其中,如下所示:How to get Retrofit success response status codes。
编辑:似乎需要一个String
数据的标量转换器。
这将是
compile 'com.squareup.retrofit2:converter-scalars:2.3.0'
喜欢提到的here。