网络请求(HttpUrlConnection/HttpClient)
2016-09-25 19:58
375 查看
httpurlconnection
get方式请求
URL url=new URL(params[0]); HttpURLConnection connection=(HttpURLConnection) url.openConnection(); if(connection.getResponseCode()==200){ InputStream is=connection.getInputstream(); //调用自定义的json解析的工具类 String json=jiesonutils.getjson(is); return }
post
URL url=new URL("https://tcc.taobao.com/cc/json/mobile_tel_segment.htm"); HttpURLConnection connection=(HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); //设置参数 connection.setDoOutput(true);//是否向服务器写参数 StringBuffer sb=new StringBuffer(); sb.append("tel=").append(et.getText().toString()); //写参数,写字节数组(吧参数内容转为字节数组) byte[] be=sb.toString().getBytes(); connection.getOutputStream().write(be); if(connection.getResponseCode()==200){ InputStream is=connection.getInputStream(); byte[] b=new byte[1024]; ByteArrayOutputStream bo=new ByteArrayOutputStream(); int length=0; while((length=is.read(b))!=-1){ bo.write(b, 0, length); } String st=bo.toString("gbk"); String string=st.substring(st.indexOf("{")); System.out.println(string); jiexi(string); }
HttpClient
get
//客户端请求 HttpClient client=new DefaultHttpClient(); //请求方式 HttpGet get=new HttpGet(params[0]); //执行get请求,获得相应数据 HttpResponse response=client.execute(get); if(response.getStatusLine().getStatusCode()==200){ InputStream is=response.getEntity().getContent(); //tojsonutils自定义的解析json的工具类 return tojsonutils.getjson(is); }
Post
//定义一个请求客户端对象 HttpClient client=new DefaultHttpClient(); //定义post请求 HttpPost httpPost=new HttpPost(path); //创建存放键值对的集合 List<BasicNameValuePair> parameters=new ArrayList<BasicNameValuePair>() ; parameters.add(new BasicNameValuePair("info", et.getText().toString())); parameters.add(new BasicNameValuePair("key", "65e2651ed3d6c03fb7172df8059578b8")); //创建一个通过url编码过的表单对象 HttpEntity entity=new UrlEncodedFormEntity(parameters, "utf-8"); //设置请求的实体 httpPost.setEntity(entity); //执行post请求获取对象 HttpResponse response = client.execute(httpPost); if(response.getStatusLine().getStatusCode()==200){ InputStream is=response.getEntity().getContent(); String data=httputils.parseStream(is); System.out.println(data); Gson gson=new Gson(); bean be=gson.fromJson(data, bean.class); list.add(be.result); for(Result1 r:list){ str=r.text; System.out.println("!!!!!!!!!!!!!!"+str); } runOnUiThread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub tv.setText(str); } }); }
相关文章推荐
- Android中网络请求—HttpClient、HttpURLConnection
- 每日总结 - 网络请求HttpURLConnection还是HttpClient
- 使用HttpURLConnection和使用HttpClient方式请求网络采用get方式和post方式请求数据
- Android应用开发网络请求 HttpClient和HttpURLConnection的区别
- Android中使用HttpURLConnection和HttpClient实现GET和POST请求访问网络
- Android网络编程 HttpUrlConnection HttpClient AsyncTask
- Android 中的两种请求网络资源的方式:HttpClient和HttpURLConnection
- 关于Android网络访问请求的一些总结 包括HttpClient HttpUrlConnection Volley
- 赠送 HttpClient 和HttpURLConnection 的轻型网络框架 ---》使用介绍
- Android网络连接之HttpURLConnection和HttpClient
- android httpurlconnection或者httpclient总是超时,服务器正常,但网络正常,浏览器可以上网
- HttpUrlConnection和HttpClient和android-async-http框架的GET和POST请求
- Android之网络访问(一)android 中对apache httpclient及httpurlconnection的选择
- Android中HttpURLConnection网络请求
- Android网络连接之HttpURLConnection和HttpClient
- Android网络请求库对比之HttpUrlConnection和HttpClient
- 赠送 HttpClient 和HttpURLConnection 的轻型网络框架 --》线程池介绍和网络请求流程
- android 中访问网络介绍 一 (基于httpurlconnection 的中get请求)
- android httpurlconnection或者httpclient总是超时,服务器正常,但网络正常,浏览器可以上网
- AsyncHttpClient 、HttpURLConnection get/post请求、httpClient