HttpClient请求返回JSON、图片
/**
* Created by RongGuang on 2015/9/19.
*/
public class RongHttp {
/**
* Http Post请求
* @param url
* @param pairs 参数
* @param clzz 对象
* @return Object 返回相应对象
* @throws Exception
*/
public Object post(String url, List<NameValuePair> pairs,Class clzz) throws Exception {
String json;
//可通过配置文件获取
String host="http://fanyi.youdao.com/";
HttpClient client = new DefaultHttpClient();
client.getParams().setParameter("http.socket.timeout",3000);
client.getParams().setParameter("http.connection.timeout",3000);
client.getParams().setParameter("http.connection-manager.timeout",60*60L);
HttpPost httpPost = new HttpPost(host + url);
httpPost.setHeader("User-Agent", "RongGuang Of Android");
httpPost.setHeader("userId", "RongGuang");
try {
httpPost.setEntity(new UrlEncodedFormEntity(pairs, "utf-8"));
try {
HttpResponse httpResponse = client.execute(httpPost);
json = EntityUtils.toString(httpResponse.getEntity());
System.out.println(">>$"+httpPost.getURI());
} catch (IOException e) {
throw new Exception(e);
}
} catch (UnsupportedEncodingException e) {
throw new Exception(e);
}
return JSON.parseObject(json,clzz);
} /**
* Http get请求
* @param url
* @param pairs
* @param clzz
* @return
* @throws Exception
*/
public Object get(String url, List<NameValuePair> pairs,Class clzz) throws Exception {
String json;
// AppOption appOption = new AppOption();
String host="http://fanyi.youdao.com/";
HttpClient client = new DefaultHttpClient();
client.getParams().setParameter("http.socket.timeout",3000);
client.getParams().setParameter("http.connection.timeout",3000);
client.getParams().setParameter("http.connection-manager.timeout", 60 * 60L);
String param= URLEncodedUtils.format(pairs, "UTF-8");
HttpGet httpGet = new HttpGet(host + url+"?"+param);
httpGet.setHeader("User-Agent", "RongGuang Of Android");
httpGet.setHeader("userId", "RongGuang"); try {
// Log.i("d======", host + url + "?" + param);
HttpResponse httpResponse = client.execute(httpGet);
json = EntityUtils.toString(httpResponse.getEntity());
// System.out.println(">>$=================================="+json);
} catch (IOException e) {
throw new Exception(e);
}
return JSON.parseObject(json, clzz);
}
/**
* 异步http请求下载图片返回Drawable对象
*/
public Drawable post2Drawable(String url){
HttpPost httpPost=null;
HttpClient httpClient=null;
HttpResponse httpResponse=null;
try{
httpPost=new HttpPost(url);
httpClient=new DefaultHttpClient();
httpResponse=httpClient.execute(httpPost);
if(httpResponse.getStatusLine().getStatusCode()==200){
InputStream is=httpResponse.getEntity().getContent();
return FormatTools.getInstance().InputStream2Drawable(is);
}
}catch(Exception e){
e.printStackTrace();
}
return null;
}
/**
* 异步http请求下载图片返回Bitmap对象
*/
public Bitmap post2Bitmap(String url){
HttpPost httpPost=null;
HttpClient httpClient=null;
HttpResponse httpResponse=null;
try{
httpPost=new HttpPost(url);
httpClient=new DefaultHttpClient();
httpResponse=httpClient.execute(httpPost);
if(httpResponse.getStatusLine().getStatusCode()==200){
InputStream is=httpResponse.getEntity().getContent();
return FormatTools.getInstance().InputStream2Bitmap(is);
}
}catch(Exception e){
e.printStackTrace();
}
return null;
}
}
直接相应的位置调用即可。
例:(谨记:主线程中不能访问网络、子线程中不能更新UI)
Bitmap bitmap=(SuperAsyncHttp.getInstance().post4Bitmap("http://img1.gtimg.com/news/pics/hv1/39/111/1927/125331519.jpg"));
iv.setImageBitmap(bitmap);
HttpClient请求返回JSON、图片的更多相关文章
- 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法
在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...
- shiro异步请求返回JSON响应
shiro异步请求返回JSON响应 需求1:当shiro请求资源,但是没有进行认证时,默认是进行重定向,现在需要返回JSON响应.注意异步请求,服务器重定向后,ajax拿到的是浏览器重定向后的到的页面 ...
- AJAX请求,返回json进行页面绑值
AJAX请求,返回json进行页面绑值 后台 controller @RequestMapping(value = "backjson.do",method=RequestMeth ...
- spring 4.x下让http请求返回json串
当前很多应用已经开始将响应返回为json串,所以基于springframework框架开发的服务端程序,让响应返回json字符串成为了一种常用手段. 这里介绍一下如何在spring-MVC框架下方便快 ...
- ajax请求返回json字符串/json对象 处理
1. 返回json字符串如何处理 $.ajax({ url:xxx, success:function(date){ }, error:function(){ } }); 通过最原始的返回: Prin ...
- springmvc通过ajax异步请求返回json格式数据
jsp 首先创建index.jsp页面 <script type="text/javascript"> $(function () { $("#usernam ...
- 使用jQuery发送POST,Ajax请求返回JSON格式数据
问题: 使用jQuery POST提交数据到PHP文件, PHP返回的json_encode后的数组数据,但jQuery接收到的数据不能解析为JSON对象,而是字符串{"code" ...
- android通过httpClient请求获取JSON数据并且解析
使用.net创建一个ashx文件,并response.write json格式 public void ProcessRequest(HttpContext context) { context.R ...
- jsp Ajax请求(返回json数据类型)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
随机推荐
- iOS开发三步搞定百度推送
iOS开发三步搞定百度推送 百度推送很简单,准备工作:在百度云推送平台注册应用,上传证书. 步骤一: 百度云推送平台 http://push.baidu.com/sdk/push_client_s ...
- Java中的try,catch,finally
讲解的是关于java中关于try.catch.finally中一些问题 下面看一个例子(例1),来讲解java里面中try.catch.finally的处理流程 public class TryCat ...
- 修改wamp默认网站目录
使用WAMP集成环境,如何更改web根目录 做php开发使用WAMP集成环境的同学大部分有过这样的经历: 如果你试图修改web根目录,那么你肯定会想到要修改apache/apache2.2.11/co ...
- border-radius
- width,clientWidth,offsetWidth
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- 关于ueditor1_4_3 上传出现无法加载配置的问题
我的解决方案是: 1. 检查 ueditor.config.js 中的 serverUrl: URL + "/net/controller.ashx" 的配置,记得一定用绝对路径 ...
- Java序列化机制
java的序列化机制支持将对象序列化为本地文件或者通过网络传输至别处, 而反序列化则可以读取流中的数据, 并将其转换为java对象. 被序列化的类需要实现Serializable接口, 使用Objec ...
- CMS .NET 程序框架 从2.0/3.5升级到4.0 版本后 需要调整的地方
问题一: document.forms1.action 不可使用 需要修改程 document.forms[0] .NET 程序框架 从2.0/3.5升级到4.0 版本后,document.forms ...
- Android课程---进度条及菜单的学习
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- mysql中的字符串类型数据索引优化
摘自 "高性能mysql" 对于一些字符串类型较长的字段搜索时, 可以参考如下方法