我按照教程来却发现总是报错;
代码如下
private String url; //请求的地址
public httpThread(String url) {
this.url = url;
}
public String doGet() {
URL httpUrl = null;
try {
httpUrl = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
HttpURLConnection httpURLConnection;
httpURLConnection = (HttpURLConnection) new httpUrl.openConnection();
try {
httpURLConnection.setRequestMethod("GET"); //请求get方法
} catch (ProtocolException e) {
e.printStackTrace();
}
httpURLConnection.setReadTimeout(5000);
//接受返回来的数据
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
} catch (IOException e) {
e.printStackTrace();
}
String str;
StringBuffer sb = new StringBuffer();
try {
while ((str = reader.readLine()) != null) {
sb.append(str);
}
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
![图片描述][2]
Tutorial jenis apakah ini? Gunakan penyemak imbas untuk melihat sama ada permintaan itu berfungsi Mungkin pengarang mempunyai akses semasa menulis tetapi tidak kemudian
Mengapa terdapat
baharu di hadapan httpUrl?Ini ialah cara untuk mengalih keluar yang baharu
Tukar beberapa ayat pertama sehingga "//Terima data yang dikembalikan" ke atas dan lihat semula
Dua soalan, satu, kenapa tambah baru sebelum memanggil kaedah Adakah anda mahu setiap hari? ralat dilaporkan, gerakkan tetikus ke atas atau letakkan kursor padanya dan tekan Ctrl+F1 untuk melihat lebih dekat kandungan Dalam kebanyakan kes, anda boleh melihat sebabnya
Kedua, pembolehubah di luar blok kod cuba pada mulanya adalah batal dan diberi nilai dalam percubaan Blok kod tangkapan tidak mengendalikan pengecualian dengan betul Ia hanya menggunakan printStackTrace untuk memukul pengecualian Kemudian apabila anda memanggil kaedah yang merujuk pembolehubah kemudian, NullPointException akan dilaporkan . Ini ialah objek httpUrl, atau tulis ayat-ayat tersebut ke dalam cuba , jika ada masalah, jangan jalankannya dahulu Tidak bagus. Pemula mesti belajar mengendalikan pengecualian dengan betul, dan membangunkan tabiat yang baik seperti menulis komen Anda akan mengikuti Saya tidak menukar kod lagi, dan saya tidak menulis kod pemprosesan, tetapi ideanya seperti ini, jangan' t printStackTrace untuk membuat masalah, log log dan balingan, jika tidak, kod anda akan berada dalam persekitaran pengeluaran pada masa hadapan, operasi dan penyelenggaraan Ini semua tentang telepati, bukan dimarahi hingga mati.