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

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

学习是最好的投资!

全員に返信(4)
Peter_Zhu

すみません、これはどのようなチュートリアルですか?ブラウザを使用して、リクエストが機能するかどうかを確認してください。作成者は書き込み時にアクセスできたが、その後はアクセスできなかった可能性があります。

いいねを押す +0
小葫芦

httpUrl の前に new があるのはなぜですか

いいねを押す +0
黄舟

リーリー

これは新しいものを削除する方法です

いいねを押す +0
Peter_Zhu

リーリー

「//返されたデータを受け入れる」までの最初の数文を上記に変更して、もう一度見てください。
2 つの質問のうち、1 つは、なぜ呼び出しメソッドの前に new を追加する必要があるのでしょうか? IDE が毎日エラーを報告しました。マウスを上に移動するか、Ctrl+F1 にカーソルを置くと、ほとんどの場合、その理由がわかります。次に、try コード ブロックの外側の変数が最初は null であり、その値がヌルであることがわかります。 catch コード ブロックが適切に割り当てられていません。例外を処理するには、printStackTrace を使用して例外を報告します。その後、その変数を参照するメソッドを呼び出すと、これは httpUrl オブジェクトです。または、これらのいくつかの文を try に書き込みます。エラーが発生した場合は、それが null であるかどうかを確認しますか? つまり、初心者は例外を適切に処理することを学ぶ必要があります。コメントを書くような良い習慣を身につけてください。また、私は処理コードを書きませんでしたが、このような考えでログを作成します。そうしないと、将来、コードが運用環境に置かれたときに、運用と保守が完全にテレパシーに依存することになります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート