HttpUtils(2)
|
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.HttpURLConnection; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Enumeration; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.util.HashMap; /** * * <p>Title: </p> * <p>Description: http utils </p> * <p>Company: </p> * @version 1.0 */ public class HttpUtils { private static final String URL_PARAM_CONNECT_FLAG = "&"; private static Log log = LogFactory.getLog(HttpUtils.class); private HttpUtils() { } /** * GET METHOD * @param strUrl String * @param map Map * @throws IOException * @return List */ public static List URLGet(String strUrl, Map map) throws IOException { String strtTotalURL = ""; List result = new ArrayList(); if(strtTotalURL.indexOf("?") == -1) { strtTotalURL = strUrl + "?" + getUrl(map); } else { strtTotalURL = strUrl + "&" + getUrl(map); } log.debug("strtTotalURL:" + strtTotalURL); URL url = new URL(strtTotalURL); HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setUseCaches(false); con.setFollowRedirects(true); BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); while (true) { String line = in.readLine(); if (line == null) { break; } else { result.add(line); } } in.close(); return (result); } /** * POST METHOD * @param strUrl String * @param content Map * @throws IOException * @return List */ public static List URLPost(String strUrl, Map map) throws IOException { String content = ""; content = getUrl(map); String totalURL = null; if(strUrl.indexOf("?") == -1) { totalURL = strUrl + "?" + content; } else { totalURL = strUrl + "&" + content; } URL url = new URL(strUrl); HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setDoInput(true); con.setDoOutput(true); con.setAllowUserInteraction(false); con.setUseCaches(false); con.setRequestMethod("POST"); con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=GBK"); BufferedWriter bout = new BufferedWriter(new OutputStreamWriter(con. getOutputStream())); bout.write(content); bout.flush(); bout.close(); BufferedReader bin = new BufferedReader(new InputStreamReader(con. getInputStream())); List result = new ArrayList(); while (true) { String line = bin.readLine(); if (line == null) { break; } else { result.add(line); } } return (result); } /** * ���URL * @param map Map * @return String */ private static String getUrl(Map map) { if (null == map || map.keySet().size() == 0) { return (""); } StringBuffer url = new StringBuffer(); Set keys = map.keySet(); for (Iterator i = keys.iterator(); i.hasNext(); ) { String key = String.valueOf(i.next()); if (map.containsKey(key)) { Object val = map.get(key); String str = val!=null?val.toString():""; try { str = URLEncoder.encode(str, "GBK"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } url.append(key).append("=").append(str). append(URL_PARAM_CONNECT_FLAG); } } String strURL = ""; strURL = url.toString(); if (URL_PARAM_CONNECT_FLAG.equals("" + strURL.charAt(strURL.length() - 1))) { strURL = strURL.substring(0, strURL.length() - 1); } return (strURL); } } |
HttpUtils(2)的更多相关文章
- XUtils框架中HttpUtils使用Get请求时总是返回相同信息的问题解决,xutilshttputils
如需转载请标明出处:http://blog.csdn.net/itas109 版本:Xutils 2014年11月11日 下载地址:https://github.com/wyouflf/xUtils ...
- 使用httputils上传图片到服务器
//创建httpUtils对象 HttpUtils mRegHttpUtils = new HttpUtils(); //图片路径 String path = "/sdcard/Downlo ...
- 3. Android框架和工具之 xUtils(HttpUtils)
1. HttpUtils 作用: 支持同步,异步方式的请求: 支持大文件上传,上传大文件不会oom: 支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD请求: 下载支持301/3 ...
- 反射机制及开源框架xUitls的使用,使用HttpUtils通过断点续传下载文件
反射: Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法: 对于任意一个对象,都能够调用它的任意一个方法和属性 Java反射机制主要提供下面几种用途: 1•在运行时判断 ...
- xutils的HttpUtils,Post和Get基本使用,以及BitmapUtils的简单使用
开篇报错注意:本教程是基于xUtils-2.6.14.jar版本实现的 由于studio中6.0以后安卓取消了httpclient,而xutils则基于httpclient开发的,所以现在无法使用,将 ...
- XUtils骨架HttpUtils采用Get总是返回请求解决问题的相同信息
如需转载请注明出处:http://blog.csdn.net/itas109 版本号:Xutils 2014年11月11日 下载地址:https://github.com/wyouflf/xUtils ...
- Androids含文档erver结束(工具包 Httputils)两
在同server在...的基础上,本文client还登录界面 Andriod简单http get请求基础上,用户注冊后跳转到下载界面,本文下载界面仅仅有两个View,一个是textView显示注冊后u ...
- 客户端 HttpUtils.java
package com.http.post; import java.io.ByteArrayOutputStream; import java.io.IOException; import java ...
- 使用HttpUtils 上传视频文件
private void shangchuan(){ //文件的路径 //File file=new File(path); File fi ...
- 使用HttpUtils完成Http Basic 认证
调用声网(agora)的远程接口(Restful Api)时,对方需要使用Basic Auth的方式进行认证(需要输入用户名和密码). 一,使用Postman完成基于Basic Auth的Http认证 ...
随机推荐
- HTML&CSS基础-meta标签
HTML&CSS基础-meta标签 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常见字符集 1>ASCII 我们知道计算机是由外国人发明的,他们当时也没有考虑到 ...
- System.Runtime.Caching中MemoryCache帮助类
值得参考的几个内存缓存帮助类: 参考资料: https://github.com/Hendy/memory-cache-helper https://gist.github.com/jdalley/0 ...
- SQL进阶系列之8EXISTS谓词的用法
写在前面 支撑SQL和关系数据库的基础理论:数学领域的集合论和逻辑学标准体系的谓词逻辑 理论篇 什么是谓词?谓词是返回值为真值(true false unknown)的函数 关系数据库里,每一个行数据 ...
- 洛谷 P2921 在农场万圣节Trick or Treat on the Farm题解
题意翻译 题目描述 每年,在威斯康星州,奶牛们都会穿上衣服,收集农夫约翰在N(1<=N<=100,000)个牛棚隔间中留下的糖果,以此来庆祝美国秋天的万圣节. 由于牛棚不太大,FJ通过指定 ...
- java基础(14)---修饰符
修饰符:final .static.public.protected.private.default. 一.final(不能修改) 使用final修饰变量定义:该变量一旦被初始化之后就不允许再被修改. ...
- 深层次揭示runBlocking与coroutineScope之间的异同点
在之前https://www.cnblogs.com/webor2006/p/11731763.html咱们写过这样的一个例子,先来回顾一下: 也就是来演示runBlocking与coroutineS ...
- 《基于 Web Service 的学分制教务管理系统的研究与实现》论文笔记(十一)
标题:基于 Web Service 的学分制教务管理系统的研究与实现 一.基本内容 时间:2014 来源:苏州大学 关键词:: 教务管理系统 学分制 Web Service 二.研究内容 1.教务管理 ...
- PHP CGI 进程占用CPU过高导致CPU使用达到100%的另类原因
由于使用的华为云的CDN加速,结果发现我的阿里云服务器突然卡顿,网页打开极慢.登陆华为云CDN管理后台发现最高带宽占用30M,流量短时间内达到10GB以上,这么大的流量我的服务器肯定扛不住啊.于是还跟 ...
- JQuery系列(3) - 工具方法
jQuery函数库提供了一个jQuery对象(简写为$),这个对象本身是一个构造函数,可以用来生成jQuery对象的实例.有了实例以后,就可以调用许多针对实例的方法,它们定义jQuery.protot ...
- 3、Python的IDE之Jupyter的使用
一.Jupyter介绍 Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown.用途包括:数据清理和转换,数 ...