docs: private InputStream httpCopyFromStream(String url, String post) {
          HttpPost httpPost = new HttpPost(url);
  
          if (post != null) {
              StringEntity entity = new StringEntity(post, Consts.UTF_8);
              httpPost.setEntity(entity);
          }
  
          try (CloseableHttpResponse response = httpClient.execute(httpPost)) {
              StatusLine statusLine = response.getStatusLine();
              HttpEntity entity = response.getEntity();
              if (statusLine.getStatusCode() >= 300) {
                  EntityUtils.consume(entity);
                  throw new WxRuntimeException(statusLine.getStatusCode(), statusLine.getReasonPhrase());
              } else {
                  InputStream inputStream = entity.getContent();
                  byte[] binaryContent = IOUtils.toByteArray(inputStream);
                  String content = new String(binaryContent, "UTF-8");
                  if (content.contains("errcode")) {
                      WxError wxError = WxError.fromJson(content);
                      throw new WxRuntimeException(wxError);
                  } else {
                      return new ByteArrayInputStream(binaryContent);
                  }
              }
          } catch (IOException e) {
              logger.error("http download: {} failed.", url, e);
              throw new WxRuntimeException(999, e.getMessage());
          }
      }