HttpURLConnection请求
方法调用:
//测试
public static void main(String[] args) {
  Map map = new HashMap();
  map.put("type", "update" );
  map.put("loginName", "4" );
  map.put("userpasswd", "96e79218965eb72c92a549dd5a330112" );
  map.put("email", "4444@qq.com" );
  JSONObject jsonObject = (JSONObject) JSONObject.toJSON(map);
  String strJsonObject=jsonObject.toString();
  String url = "http://localhost:8080/xtmc/synchroUser/insertWebUser.do?userData="+strJsonObject;
  System.out.println("注册同步 "+url);
  String jsonString = HttpRequestUtil.sendPost(url);
  System.out.println("返回的结果是"+jsonString);
}
sendPost(url)方法见链接:
http://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.html
或者:
/**
* 向指定 URL 发送POST方法的请求
*
* @param pathUrl 发送请求的 URL
* @return 所代表远程资源的响应结果
*/
public static String sendPost(String pathUrl) {
try {
URL url = new URL(pathUrl);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); // //设置连接属性
httpConn.setDoOutput(true);// 使用 URL 连接进行输出
httpConn.setDoInput(true);// 使用 URL 连接进行输入
httpConn.setUseCaches(false);// 忽略缓存
httpConn.setRequestMethod("POST");// 设置URL请求方法
String requestString = "客服端要以以流方式发送到服务端的数据..."; // 设置请求属性
// 获得数据字节数据,请求数据流的编码,必须和下面服务器端处理请求流的编码一致
byte[] requestStringBytes = requestString.getBytes("utf-8");
httpConn.setRequestProperty("Content-length", "" + requestStringBytes.length);
httpConn.setRequestProperty("Content-Type", "application/octet-stream");
httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
httpConn.setRequestProperty("Charset", "UTF-8");
//
String name = URLEncoder.encode("黄武艺", "utf-8");
httpConn.setRequestProperty("NAME", name); // 建立输出流,并写入数据
OutputStream outputStream = httpConn.getOutputStream();
outputStream.write(requestStringBytes);
outputStream.close();
// 获得响应状态
int responseCode = httpConn.getResponseCode(); if (HttpURLConnection.HTTP_OK == responseCode) {// 连接成功
// 当正确响应时处理数据
StringBuffer sb = new StringBuffer();
String readLine;
BufferedReader responseReader;
// 处理响应流,必须与服务器响应流输出的编码一致
responseReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "utf-8")); while ((readLine = responseReader.readLine()) != null) {
sb.append(readLine).append("\n");
}
responseReader.close();
System.out.println(sb.toString());
return sb.toString();
}
} catch (Exception e) {
System.out.println(e.getStackTrace());
}
return null;
}
被请求方法(/synchroUser/insertWebUser.do ):
@RequestMapping("/synchroUser/insertWebUser.do")
public void insertWebUser(HttpServletResponse response,HttpServletRequest request,@RequestParam("userData") String userData) throws Exception {
  JSONObject dataMap = null;
  System.out.println("接收到的userData==="+userData);
  try {
    dataMap = JSONObject.parseObject(userData);
  } catch (Exception e) {
    System.out.println("参数解析错误!");
    e.printStackTrace();
  }
  String loginName = getJsonValue(dataMap, "loginName");
  String userpasswd = getJsonValue(dataMap, "userpasswd");
  String email = getJsonValue(dataMap, "email");
  String type = getJsonValue(dataMap, "type");
} catch (Exception e) {
  // TODO: handle exception
  flag = "false";
  e.printStackTrace();
}
  response.getWriter().write("success");
}
/**
* 获取json对象中的属性
* @param params json对象
* @param key 参数名
* @return
*/
private String getJsonValue(JSONObject params, String key) {
  if (params == null || "".equals(key) || key == null) {
    return null;
  }
  Object obj = params.get(key);
  return obj == null ? null : obj.toString();
}
HttpURLConnection请求的更多相关文章
- HttpURLConnection请求数据流的写入(write)和读取(read)
		URLConnection类给应用 程序 和web资源之间架设起了通信的桥梁,这些web资源通常是通过url来标记的,本文将讲述如何使用HttpURLConnection来访问web页面(发送数据流) ... 
- Android使用HttpUrlConnection请求服务器发送数据详解
		HttpUrlConnection是java内置的api,在java.net包下,那么,它请求网络同样也有get请求和post请求两种方式.最常用的Http请求无非是get和post,get请求可以获 ... 
- 解决Fiddler不能监听Java HttpURLConnection请求的方法
		在默认情况下,Fiddler不能监听Java HttpURLConnection请求.究其原因,Java的网络通信协议栈可能浏览器的通信协议栈略有区别,Fiddler监听Http请求的原理是 在应用程 ... 
- 使用Fiddler监听java HttpURLConnection请求
		使用Fiddler监听java HttpURLConnection请求 
- 分享自己配置的HttpURLConnection请求数据工具类
		>>该工具类传入string类型url返回string类型获取结果import java.io.BufferedReader;import java.io.InputStream;impo ... 
- HttpURLConnection请求网络数据
		//使用线程 new Thread(){ public void run() { try { //先创建出了一 ... 
- HttpURLConnection请求接口
		import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.DataOutputStream; ... 
- 使用HttpURLConnection请求multipart/form-data类型的form提交
		写一个小程序,模拟Http POST请求来从网站中获取数据.使用Jsoup(http://jsoup.org/)来解析HTML. Jsoup封装了HttpConnection的功能,可以向服务器提交请 ... 
- HttpURLConnection请求网络数据的Post请求
		//--------全局变量----------- //注册Url private String urlPath="http://101.200.142.201:8080/VideoP ... 
随机推荐
- iOS学习03C语言循环结构
			1.while循环 while (循环条件) { 循环体: } // 1.定义循环变量 ; // 2.循环条件 ) { // 3.循环体 printf("%d\n", ... 
- linux 安装vbox增强工具
			首先在虚拟机控制台点设备--------安装增强功能,这样会用虚拟光驱加载增强功能镜象. 然后打开终端,先转到root身份:=================su================= f ... 
- PHP处理超时方法
			一.在php.ini里面设置 max_execution_time = 1800; 二.通过PHP的ini_set 函数设置 ini_set("max_execution_time" ... 
- [转]Hive:简单查询不启用Mapreduce job而启用Fetch task
			转自:http://www.iteblog.com/archives/831 如果你想查询某个表的某一列,Hive默认是会启用MapReduce Job来完成这个任务,如下: hive> SEL ... 
- BZOJ 1925[Sdoi2010]地精部落 题解
			题目大意: 1~n的排列中,要任意一个数要么比它左右的数都大或小,求所有的方案数. 思路: 主要思路:离散. 三个引理: ①在n->n-1的转化过程中,我们删除了一个点后,我们可以将n-1个点视 ... 
- dynamic 是什么
			dynamic是c# 4.0新增的类型,可以修饰类,对象,属性,索引器,方法返回值等. class ExampleClass { // A dynamic field. static dynamic ... 
- XAML parser exception
			To debug xaml exception: Visual Studio -> Debug -> Exception -> Common Language Runtime Exc ... 
- Ajax 完整教程。。转载
			Ajax 完整教程 第 1 页 Ajax 简介 Ajax 由 HTML.JavaScript™ 技术.DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应 ... 
- android- 菜单
			选项菜单:menu_main.xml <?xml version="1.0" encoding="utf-8"?><menu xmlns:an ... 
- Java 路径
			http://swiftlet.net/archives/713 Java中不存在标准的相对路径,各种相对路径取资源的方式都是基于某种规则转化为绝对路径.所以在Java中文件路径问题无非归结为一点:找 ... 
