java - URL类里面的方法openConnection方法报错
PHPz
PHPz 2017-04-18 10:29:37
0
4
412

我按照教程来却发现总是报错;
代码如下
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]
PHPz
PHPz

学习是最好的投资!

répondre à tous(4)
Peter_Zhu

De quel genre de tutoriel s'agit-il ? Utilisez un navigateur pour voir si la requête fonctionne. Il se peut que l'auteur y ait eu accès lors de l'écriture mais pas plus tard

小葫芦

Pourquoi y a-t-il du nouveau

devant httpUrl ?
黄舟
    public URLConnection openConnection() throws java.io.IOException {
        return handler.openConnection(this);
    }

C'est un moyen de supprimer le nouveau

Peter_Zhu
URL httpUrl = null;
HttpURLConnection httpURLConnection;
try {
    httpUrl = new URL(url);
    httpURLConnection = (HttpURLConnection) httpUrl.openConnection();
    httpURLConnection.setRequestMethod("GET");      //请求get方法
    httpURLConnection.setReadTimeout(5000);
} catch (MalformedURLException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
} catch (ProtocolException e) {
    e.printStackTrace();
}

Changez les premières phrases jusqu'à "//Accepter les données renvoyées" par ce qui précède et regardez-les à nouveau
Deux questions, une, pourquoi en ajouter une nouvelle avant d'appeler la méthode. Le voulez-vous tous les jours, idée Si ? l'erreur est signalée, déplacez la souris vers le haut ou placez le curseur dessus et appuyez sur Ctrl+F1 pour examiner de plus près le contenu. Dans la plupart des cas, vous pouvez voir la raison
Deuxièmement, les variables en dehors du bloc de code try. sont initialement nuls et se voient attribuer des valeurs dans le try. Le bloc de code catch ne gère pas correctement l'exception. Il utilise simplement printStackTrace pour frapper l'exception. Ensuite, lorsque vous appelez la méthode qui fait référence à la variable plus tard, une NullPointException sera signalée. . Il s'agit de l'objet httpUrl, ou écrivez ces phrases dans try. , si quelque chose ne va pas, ne l'exécutez pas d'abord s'il est nul lorsque vous l'appelez à l'extérieur. pas bon. Les débutants doivent apprendre à gérer correctement les exceptions et développer de bonnes habitudes comme écrire des commentaires. Vous suivrez que je n'ai plus modifié le code et que je n'ai pas écrit le code de traitement, mais l'idée est comme ça, ne le faites pas. t printStackTrace pour créer des problèmes, enregistrez le journal et lancez le lancement, sinon votre code sera dans l'environnement de production à l'avenir, fonctionnement et maintenance Tout est une question de télépathie, de ne pas être grondé à mort.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal