使用Retrofit获取Html响应

kri*_*lix 4 retrofit

我是Retrofit的新手.我向网站发出POST请求.网站以HTML格式返回响应.所以我会解析它.但是,Retrofit尝试将其解析为JSON.怎么办?

@FormUrlEncoded
@POST("/login.php?action=login")
void postCredentials(@Field("username") String username, 
                     @Field("password") String password);
Run Code Online (Sandbox Code Playgroud)

我应该使用回调吗?

Has*_*eem 5

Retrofit使用a converter来处理来自端点和请求的响应.默认情况下,Retrofit使用GsonConverter,它使用gson库编码对Java对象的JSON响应.在构建Retrofit实例时,您可以覆盖它以提供自己的转换器.

您需要实现该接口可在这里(github.com).这里也是一个简短的教程,虽然使用杰克逊库,但仍有许多相关内容:futurestud.io/blog

另请注意,转换器可以双向工作,转换请求和响应.由于您只想在一个方向上进行HTML解析,因此您可能希望在自定义转换器中使用GsonConverter,以便在toBody方法中将传出的Java对象转换为JSON .