安卓学习笔记——post方法 函数
来源:互联网 发布:java程序输出杨辉三角 编辑:程序博客网 时间:2024/05/17 22:00
post 方法
/** * Post 方式 * * @param url * 网址 * @param paramsArray * 参数 * @param values * 值 * @param charset * 编码,例如:UTF-8、GBK * @return */public static String postUrl(String url, String[] paramsArray,String[] values, String charset) {String returnConnection = null;// 封装数据Map<String, String> parmas = new HashMap<String, String>();int paramsArrayLength = paramsArray.length;int valuesLength = values.length;if (paramsArrayLength == valuesLength) {for (int i = 0; i < paramsArrayLength; i++) { System.out.println("paramsArray = " + paramsArray[i] + ", value = " + values[i]);parmas.put(paramsArray[i], values[i]);}DefaultHttpClient client = new DefaultHttpClient();// http客户端HttpPost httpPost = new HttpPost(url);List<BasicNameValuePair> pairs = new ArrayList<BasicNameValuePair>();if (parmas != null) {Set<String> keys = parmas.keySet();for (Iterator<String> i = keys.iterator(); i.hasNext();) {String key = (String) i.next();pairs.add(new BasicNameValuePair(key, parmas.get(key)));System.out.println("key = " + key + ", value = "+ parmas.get(key));}try {StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();StrictMode.setThreadPolicy(policy);UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(pairs, charset);// 将POST数据放入HTTP请求httpPost.setEntity(p_entity);// 发出实际的HTTP POST请求HttpResponse response = client.execute(httpPost);int statusCode = response.getStatusLine().getStatusCode();if (statusCode != HttpStatus.SC_OK) {System.out.println("错误代码: " + statusCode);} else {HttpEntity entity = response.getEntity();InputStream content = entity.getContent();returnConnection = changeInputStream(content);// returnConnection = content.toString();//// changeInputStream(content);System.out.println("结果2:" + returnConnection);}} catch (IllegalStateException e) {e.printStackTrace();System.out.println("出错1:" + e.getStackTrace());} catch (IOException e) {e.printStackTrace();System.out.println("出错2:" + e.getStackTrace());}}} else {System.out.println("出错3:参数不对");}return returnConnection;}
streamToString方法
private static String changeInputStream(InputStream inputStream) {// TODO Auto-generated method stubString jsonString = "";ByteArrayOutputStream outputStream = new ByteArrayOutputStream();int len = 0;byte[] data = new byte[1024];try {while ((len = inputStream.read(data)) != -1) {outputStream.write(data, 0, len);}jsonString = new String(outputStream.toByteArray());} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return jsonString;}
0 0
- 安卓学习笔记——post方法 函数
- 安卓学习笔记——Broadcast
- 安卓学习笔记——SQLite
- 安卓学习笔记——三
- 安卓学习笔记—popupwindow
- 安卓学习笔记——简单布局以及调用调用手机发短信方法实现
- 安卓日记——http中的get和post方法
- 学习笔记之安卓GET与POST网络请求的三种方式
- 安卓学习笔记
- 安卓学习笔记
- 安卓学习笔记
- 安卓学习笔记
- 安卓学习笔记
- 安卓学习笔记
- 安卓学习笔记
- nGrinder学习笔记 — post请求
- Android-HTTP实例——使用GET方法、POST方法发送请求(安卓4.0以下版本)
- Opengl函数介绍---(安卓学习笔记)
- 前端,记录
- guava学习笔记(2)--Optional
- Pow(x, n)
- BeanFactoryPostProcessor和BeanPostProcessor的区别
- hadoop2.x常用端口及定义方法
- 安卓学习笔记——post方法 函数
- HTML5学习笔记——placeholder属性
- Immediate Decodability
- JSP页面中的pageEncoding和contentType两种属性
- Zigbee网络设备启动流程—终端(非自启动模式)
- vmm_opts::get_int
- 照片文件误删怎么才能恢复回来呢
- spring的AOP之java的动态代理
- 从TS流到PAT和PMT