httpsurlconnection java_Java HttpsURLConnection.getErrorStream方法代码示例

import javax.net.ssl.HttpsURLConnection; //导入方法依赖的package包/类

private static String getRawAPIResponse(String urlSuffix, String requestMethod, String body) throws AuthorizationException, IOException, InsufficientValueException, CouldNotFindObjectException {

URL requestURL = new URL(LightrailConstants.API.apiBaseURL + urlSuffix);

HttpsURLConnection httpsURLConnection = (HttpsURLConnection) requestURL.openConnection();

httpsURLConnection.setRequestProperty(

LightrailConstants.API.AUTHORIZATION_HEADER_NAME,

LightrailConstants.API.AUTHORIZATION_TOKEN_TYPE + " " + Lightrail.apiKey);

httpsURLConnection.setRequestMethod(requestMethod);

if (body != null) {

httpsURLConnection.setRequestProperty(LightrailConstants.API.CONTENT_TYPE_HEADER_NAME, LightrailConstants.API.CONTENT_TYPE_JSON_UTF8);

httpsURLConnection.setDoOutput(true);

OutputStream wr = httpsURLConnection.getOutputStream();

wr.write(body.getBytes(StandardCharsets.UTF_8));

wr.flush();

wr.close();

}

int responseCode = httpsURLConnection.getResponseCode();

InputStream responseInputStream;

if (httpsURLConnection.getResponseCode() < HttpsURLConnection.HTTP_BAD_REQUEST) {

responseInputStream = httpsURLConnection.getInputStream();

} else {

responseInputStream = httpsURLConnection.getErrorStream();

}

BufferedReader responseReader = new BufferedReader(new InputStreamReader(responseInputStream, StandardCharsets.UTF_8));

StringBuilder responseStringBuffer = new StringBuilder();

String inputLine;

while ((inputLine = responseReader.readLine()) != null)

responseStringBuffer.append(inputLine).append('\n');

responseReader.close();

String responseString = responseStringBuffer.toString();

if (responseCode > 204) {

handleErrors(responseCode, responseString);

}

return responseString;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值