我有一個問題,我的Android應用程序中獲取網頁內容。我想閱讀這個地址https://szr.szczecin.pl/utms/data/layers/VMSPublic的內容。如何在Android中獲取網頁內容?
起初,我嘗試使用此代碼來做到這一點在Java中:
public class Main {
public static void main(String[] args) {
String https_url = "https://szr.szczecin.pl/utms/data/layers/VMSPublic";
URL url;
try {
url = new URL(https_url);
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
print_content(con);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private static void print_content(HttpsURLConnection con) {
if (con != null) {
try {
System.out.println("****** Content of the URL ********");
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
String input;
while ((input = br.readLine()) != null) {
System.out.println(input);
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
它的工作後,我下載並安裝從該網頁上的證書。我如何在Android中做同樣的事情?我在Android中嘗試了HTTPSURLConnection,但它僅返回了我的網頁地址。當我嘗試使用HTTPURLConnection時,它給了我一個文檔被移動的信息(狀態302)。
請記住,此功能無法在主線程上運行,否則會導致錯誤。將它放在一個擴展線程的類中或作爲異步 - 可以在這裏找到兩者的示例:http://stackoverflow.com/questions/6343166/android-os-networkonmainthreadexception – RelicScoth
all deprecated ... –