質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

1回答

3842閲覧

HttpURLConnectionでHTTPステータスコードを確認したい

ke-ke-

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2020/05/02 01:07

編集2020/05/03 00:24

nakasho_dev 様のアドバイスをもとに修正2020/05/03

素人質問失礼いたします。サンプルにて学習中の初学者です。

対象URLがhttpsのサイトのHTMLを取得してTextViewに表示させたいです。

IOExceptionの例外が発生していて、ステータスコードを確認したいのですが出力方法がわかません。調べた限りではStacktraceは出力されず、IOExceptionの時は401とのことです出力方法がありましたら伺いたいです。

Java

1 2 protected String doInBackground(String... params) { 3 publishProgress(30); 4 SystemClock.sleep(3000); 5 publishProgress(60); 6 StringBuilder builder = new StringBuilder(); 7 try { 8 URL url = new URL(params[0]); 9 HttpURLConnection con = (HttpURLConnection)url.openConnection(); 10 con.setRequestMethod("GET"); 11 BufferedReader reader = new BufferedReader(new InputStreamReader( 12 con.getInputStream(), StandardCharsets.UTF_8)); 13 String line; 14 while ((line = reader.readLine()) != null){ 15 builder.append(line); 16 } 17 } catch (IOException e) { 18 e.printStackTrace(); 19 } 20 publishProgress(100); 21 return builder.toString(); 22 }
2020-05-02 09:46:04.556 2546-18518/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_started com.google.android.apps.gsa.staticplugins.aa.c@516eb34 2020-05-02 09:46:04.557 2546-2546/com.google.android.googlequicksearchbox:search I/MicroDetectionWorker: onReady 2020-05-02 09:46:04.562 2546-18518/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_close com.google.android.apps.gsa.staticplugins.aa.c@516eb34 2020-05-02 09:46:04.563 2546-18479/com.google.android.googlequicksearchbox:search I/MicroRecognitionRunner: Detection finished 2020-05-02 09:46:04.565 2546-18479/com.google.android.googlequicksearchbox:search W/ErrorReporter: reportError [type: 211, code: 524300]: Error reading from input stream 2020-05-02 09:46:04.569 2546-5516/com.google.android.googlequicksearchbox:search I/MicroRecognitionRunner: Stopping hotword detection. 2020-05-02 09:46:04.569 2546-18479/com.google.android.googlequicksearchbox:search W/ErrorProcessor: onFatalError, processing error from engine(4) com.google.android.apps.gsa.shared.speech.b.g: Error reading from input stream at com.google.android.apps.gsa.staticplugins.recognizer.j.a.a(SourceFile:28) at com.google.android.apps.gsa.staticplugins.recognizer.j.b.run(SourceFile:15) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:14) at com.google.android.apps.gsa.shared.util.concurrent.a.bl.run(SourceFile:4) at com.google.android.apps.gsa.shared.util.concurrent.a.bl.run(SourceFile:4) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) at com.google.android.apps.gsa.shared.util.concurrent.a.ai.run(SourceFile:6) Caused by: com.google.android.apps.gsa.shared.exception.GsaIOException: Error code: 393238 | Buffer overflow, no available space. at com.google.android.apps.gsa.speech.audio.Tee.f(SourceFile:103) at com.google.android.apps.gsa.speech.audio.au.read(SourceFile:2) at java.io.InputStream.read(InputStream.java:101) at com.google.android.apps.gsa.speech.audio.ao.run(SourceFile:18) at com.google.android.apps.gsa.speech.audio.an.run(SourceFile:2)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nakasho_dev

2020/05/02 03:07

HTTPステータスコードを確認していませんが、ちゃんと対象URLに接続できているのでしょうか? そもそも対象URLがhttpだったりすると新しめのAndroidだと自動でブロックされます。
ke-ke-

2020/05/02 11:05

ありがとうございます。 パーミッション許可をしてませんでした。 アプリは落ちなくなりましたが、同じくBufferedReader部分で例外に飛んでます。確認方法をググっても出てきません。 HttpURLConnection con には下記のデータが入っているのですが。。 「com.android.okhttp.internal.huc.HttpURLConnectionImpl:https:~」 https://kokuzawa.github.io/blog/2016/12/15/httpurlconnection/ こちらのサイトを参考に対応を考えています。
nakasho_dev

2020/05/02 13:10

BODYを取得する前に、まずはResponseのStatusCodeを確認しましょう。 また、理解が進んだり状況が変わったら質問本文を編集するようにしましょう。
guest

回答1

0

まだ解決になるか分かりませんがひとまず指摘
現在参考にされているサイトはHttpUrlConnectionの使い方の一部しか紹介していません。
全体が分かるサイトを探してみましょう。
Webの記事を複数見て判断するようにした方が良いと思います。

上記のサイトだと一連の流れがあります。ステータスの取得方法もあります。

現在提示されているコードだとconnectメソッドを実行していません。

Java

1con.connect();

まずはconnectメソッドの実行とステータスの確認を実装してみてください。

投稿2020/05/03 03:39

nakasho_dev

総合スコア2655

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問