Это происходит потому, что они компилируют свой код, я имею в виду, что они пишут код в java, и все остальные обрабатываются с помощью GWT того же самого о facebook, который они пишут с помощью C, а затем делают то же самое.
Если код ответа не 200 или 2xx, используйте getErrorStream()
вместо getInputStream().
Чтобы сделать вещи кристально чистыми, вот мой рабочий код:
if (200 <= conn.getResponseCode() && conn.getResponseCode() <= 299) {
br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} else {
br = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
}
HttpURLConnection.getErrorStream()
(sun.net.www.protocol.http
) возвращает null
, если responseCode >= 400
, поэтому ваша проверка на 299, вероятно, неверна.
– vladr
16 March 2018 в 15:46