HttpClient Post 二进制/字节流/byte[]
来源:互联网 发布:七天网络查分登录app 编辑:程序博客网 时间:2024/05/22 01:13
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; }}
1 0
- HttpClient Post 二进制/字节流/byte[]
- HttpClient Post 二进制/字节流/byte[]
- 字节(byte)、二进制、字节流、字符流相关概念分析
- HttpClient josn网络传输(二进制的byte流)
- 关于HttpClient post请求 传输json格式的字节流
- HttpClient模拟Post请求返回Byte数组
- 字节 输入输出流 byte
- Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串
- Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串
- byte 字节
- Java字节、二进制、字节流、字符
- 字节流和二进制流
- C#读取二进制字节流
- C#读取二进制字节流
- httpclient post
- httpclient post
- httpclient post
- HTTPCLIENT.POST
- Master Outer Join in Informatica
- 分类:最近邻knn
- linux 查看端口号 以及进程的状态
- 2016-6-3:实验室第九天
- svn 之"回到以前的版本"
- HttpClient Post 二进制/字节流/byte[]
- gluUnProject glUnProject4包含w值 glProject求取屏幕z坐标
- opencv 各个版本 与vs 的匹配关系
- 结合AFNetworking 和 MJExtension的二次网络请求的封装
- image super-resolution as sparse representation of raw image patches 论文详解
- AJXA的基本使用方法和代码
- Android设计模式源码解析之单例模式
- Java中如何将中文转换为英文String
- JMeter之 Non-GUI Mode (Command Line mode)