【发布时间】:2017-11-01 00:01:39
【问题描述】:
如何获取带有retrofit 的网站的html?
例如,我有这个url,我需要获取这个 url 的 html 以及如何加载更多。
下面是我的代码:
MainActivity.java:
public class MainActivity extends AppCompatActivity {
TextView txt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt = (TextView) findViewById(R.id.txt);
OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://www.instagram.com/elde0596/")
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient)
.build();
final Interface_Web request = retrofit.create(Interface_Web.class);
Call<ResponseBody> call = request.getHtml();
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
txt.setText(response.body().source().toString());
Log.i("SDADASDAWEQ", "A " + response.body().toString());
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.i("SDADASDAWEQ", "B " + t.getMessage());
}
});
}
}
Interface_Web.java:
public interface Interface_Web {
@GET("/")
Call<ResponseBody> getHtml();
}
给我看看:
[size=9500 text=<!DOCTYPE html>\n<!--[if lt IE 7]> <html lang="en" class="no…]
但我需要查看所有html。
【问题讨论】:
-
请说明您尝试了什么以及您的不足之处,请在此处输入一些代码
-
我想要所有的 html 代码,但这里它要求标签名称来获取代码 sn-p。这是我的代码-> String html = response.body().string();文档 document = Jsoup.parse(html);元素 elements = document.select("name_of_tag_you want_to_get"); for (Element element:elements) { if (element.attr("name_of_attribute_you want to check").equals("value_of_the_attribute")){ } }
-
谢谢它对我有帮助。并让我知道如何打印 html 的全部内容,根据您的解决方案,它只打印一行而不是整个 html 内容。请告诉我。谢谢!
标签: android retrofit retrofit2 androidhttpclient