• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    HttpClient Post 二进制/字节流/byte[]实例代码

     HttpClient Post 二进制/字节流/byte[]实例代码

    HttpClient 3.x

    public class HttpHelper { 
      String m_url; 
      HttpClient m_HttpClient; 
     
      public HttpHelper(String url) { 
        m_url = url; 
        m_HttpClient = new HttpClient(); 
      } 
     
      public byte[] post(byte[] bytes, String contentType) throws IOException { 
        PostMethod method = new PostMethod(m_url); 
     
        if ((contentType != null)  (contentType.length() > 0)) 
          method.setRequestHeader("Content-type" , contentType); 
        method.setRequestEntity(new ByteArrayRequestEntity(bytes)); 
        int HttpCode = m_HttpClient.executeMethod(method); 
        if (HttpCode != HttpStatus.SC_OK) 
          throw new IOException("Invalid HttpStatus: " + HttpCode); 
        InputStream respStream = method.getResponseBodyAsStream(); 
        int respBodySize = respStream.available(); 
        if (respBodySize = 0) 
          throw new IOException("Invalid respBodySize: " + respBodySize); 
        byte[] respBuffer = new byte[respBodySize]; 
        if (respStream.read(respBuffer) != respBodySize) 
          throw new IOException("Read respBody Error"); 
        return respBuffer; 
      } 
     
      public String postXml(String str) throws IOException { 
        byte[] reqBuffer = str.getBytes(Charset.forName("UTF-8")); 
        byte[] respBuffer = post(reqBuffer, "application/xml; charset=UTF-8"); 
        String resp = new String(respBuffer, Charset.forName("UTF-8")); 
        return resp; 
      } 
    } 
    

    HttpClient 4.x

    public class HttpHelper { 
      CloseableHttpClient m_HttpClient; 
     
      public HttpHelper() { 
        m_HttpClient = HttpClients.createDefault(); 
      } 
     
      // send bytes and recv bytes 
      public byte[] post(String url, byte[] bytes, String contentType) throws IOException { 
        HttpPost httpPost = new HttpPost(url); 
        httpPost.setEntity(new ByteArrayEntity(bytes)); 
        if (contentType != null) 
          httpPost.setHeader("Content-type", contentType); 
        CloseableHttpResponse httpResponse = m_HttpClient.execute(httpPost); 
        try { 
          HttpEntity entityResponse = httpResponse.getEntity(); 
          int contentLength = (int) entityResponse.getContentLength(); 
          if (contentLength = 0) 
            throw new IOException("No response"); 
          byte[] respBuffer = new byte[contentLength]; 
          if (entityResponse.getContent().read(respBuffer) != respBuffer.length) 
            throw new IOException("Read response buffer error"); 
          return respBuffer; 
        } finally { 
          httpResponse.close(); 
        } 
      } 
     
      public byte[] post(String url, byte[] bytes) throws IOException { 
        return post(url, bytes, null); 
      } 
     
      public String postXml(String url, String str) throws IOException { 
        byte[] reqBuffer = str.getBytes(Charset.forName("UTF-8")); 
        byte[] respBuffer = post(url, reqBuffer, "application/xml; charset=UTF-8"); 
        String resp = new String(respBuffer, Charset.forName("UTF-8")); 
        return resp; 
      } 
    } 
    

     感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    您可能感兴趣的文章:
    • Java使用HttpClient实现Post请求实例
    • httpclient模拟post请求json封装表单数据的实现方法
    • JAVA利用HttpClient进行POST请求(HTTPS)实例
    • Java利用HttpClient模拟POST表单操作应用及注意事项
    • java使用httpclient模拟post请求和get请求示例
    • java使用httpclient发送post请求示例
    • Android HttpClient GET或者POST请求基本使用方法
    上一篇:JSP 获取用户的真实IP两种实现方法详解
    下一篇:Java 实现 web服务器的简单实例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    HttpClient Post 二进制/字节流/byte[]实例代码 HttpClient,Post,二进制,字,