httpclient下载图片或者其他文件
生活随笔
收集整理的這篇文章主要介紹了
httpclient下载图片或者其他文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*** GET請求獲取圖片 或者其他文件** @param url* @param headers* @return**/public static byte[] doGetImg(String url, Map<String, String> headers) {CloseableHttpClient httpclient = HttpClients.createDefault();RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(TIME_OUT).setConnectTimeout(TIME_OUT).build();HttpGet httpGet = new HttpGet(url);if (headers != null) {for (String key : headers.keySet()) {httpGet.addHeader(key, headers.get(key));}}httpGet.setConfig(requestConfig);try {CloseableHttpResponse response = httpclient.execute(httpGet);HttpEntity entity = response.getEntity();// 如果狀態碼不是200,返回空,表示失敗int htttpStatusCode = response.getStatusLine().getStatusCode();if (200 != htttpStatusCode) {LOG.error("get img fail : url={} , headers={} , entity={} , https狀態碼={}", url, headers,EntityUtils.toString(entity), htttpStatusCode);return null;}// 圖片最大20Mfinal long maxSize = 20 * 1024 * 1024;ByteArrayOutputStream os = new ByteArrayOutputStream();if (entity != null) {InputStream stream = entity.getContent();int i;while ((i = stream.read()) != -1) {os.write(i);}os.flush();}return os.toByteArray();} catch (Exception e) {LOG.error("url={}", url, e);} finally {try {httpclient.close();} catch (IOException e) {e.printStackTrace();}}return null;}
總結
以上是生活随笔為你收集整理的httpclient下载图片或者其他文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021年9月再次更新-日立电梯,艾默生
- 下一篇: 鸿蒙升级包7g,首个华为鸿蒙2.0续航测