Android HttpPost表单访问接口
2015-09-19 00:29
375 查看
这是我常用的来进行接口调用的方法,非常的好用,希望能给需要的朋友带来便利。
// 调取接口发送数据private void getData(final String url, final String id) {// 获取数据,把线程写入了其中new Thread() {public void run() {Message msg = vipmyHandler.obtainMessage();String type = "";try {urlclient = new UrLClient();List<NameValuePair> content = new ArrayList<NameValuePair>();content.add(new BasicNameValuePair("suggestcontent", editText.getText().toString()));type = urlclient.postFormsendCookiesData(url, content, FanKuiActivity.this);if(type.equals("success")){msg.what=0;}else{msg.what=1;}} catch (Exception e) {e.printStackTrace();Toast.makeText(FanKuiActivity.this, "参数传递错误",Toast.LENGTH_SHORT).show();System.out.println("*************************" + "参数传递错误"+ "**********************************");}vipmyHandler.sendMessage(msg);}}.start();}@Overridepublic void onDestroy() {// TODO Auto-generated method stubvipmyHandler.removeCallbacksAndMessages(null);super.onDestroy();}Handler vipmyHandler = new Handler() {@SuppressLint("HandlerLeak")public void handleMessage(Message msg) {switch (msg.what) {case 0:String httpstr = urlclient.getInput();if (httpstr == null || httpstr.equals("")) {return;}error_PopupWindows = new error_PopupWindows(FanKuiActivity.this, titlebar, "反馈成功,谢谢您的意见!");break;case 1:error_PopupWindows = new error_PopupWindows(FanKuiActivity.this, titlebar, "提交失败");break;}super.handleMessage(msg);}};
// post登录连接 public String postFormsendCookiesData(String url, List<NameValuePair> params, Context urlcontext) { String isConnect = ""; // 第一步,创建HttpPost对象 HttpPost httpPost = new HttpPost(UrlVO.Host_Url + url); HttpResponse httpResponse = null; try { // 设置httpPost请求参数 httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); DefaultHttpClient httpclient = new DefaultHttpClient(); if (!UrlVO.getShareData("JSESSIONID", urlcontext).equals("")) { httpPost.setHeader("Cookie", UrlVO.getShareData("JSESSIONID", urlcontext)); } // 请求超时 httpclient.getParams().setParameter( CoreConnectionPNames.CONNECTION_TIMEOUT, 20000); // 读取超时 httpclient.getParams().setParameter( CoreConnectionPNames.SO_TIMEOUT, 20000); httpResponse = httpclient.execute(httpPost); System.out.println(httpResponse.getStatusLine().getStatusCode()); if (httpResponse.getStatusLine().getStatusCode() == 200) { // 第三步,使用getEntity方法活得返回结果 String result = EntityUtils.toString(httpResponse.getEntity()); setInput(result); System.out.println("result:" + result); isConnect = "success"; } else { setWrongcode(String.valueOf(httpResponse.getStatusLine() .getStatusCode()), urlcontext); } } catch (ClientProtocolException e) { e.printStackTrace(); Toast.makeText(urlcontext, "读取超时或连接错误", Toast.LENGTH_SHORT).show(); } catch (IOException e) { e.printStackTrace(); Toast.makeText(urlcontext, "网络连接失败", Toast.LENGTH_SHORT).show(); } return isConnect; }
主要的功能我都已经放在这里了,只要进行简单的调用就可以了
相关文章推荐
- 网络笔记01-3 socket 实现百度页面的两种方式
- Linux网络属性配置
- 网络加密HTTPS
- 检测用户的网络状态
- HttpServletRequest解决中文乱码的问题
- 基于BS架构开发聊天室 采用while(true)方式接收消息,不关闭http请求
- 在Action类中获得HttpServletResponse对象的四种方法
- IIS不能访问映射的网络驱动器
- Socket学习网络基础准备
- PING命令 原理
- Http协议讲义及相应过程
- Android网络上获取图片的三种方法
- HDU_3998_Sequence(最长上升子序列 + 网络流)
- 网络扫描常用命令
- RMI、Hessian、Burlap、Httpinvoker、WebService的比较
- 把网络请求得到的字符串转成字典
- Tcp/ip三次握手,4次分手.
- SqlServer问题:sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connectio
- 漫步云中网络
- HttpServletResponse输出的中文乱码