服务器之间传输数据
来源:互联网 发布:罗莱蚕丝被 知乎 编辑:程序博客网 时间:2024/05/18 18:53
package com.pms.sys.util;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import net.sf.json.JSONObject;/** * max请求 * @author NetSnake * */public class NetUtils { //UTF-8 GBK public static final String DEF_CHATSET = "UTF-8"; public static final int DEF_CONN_TIMEOUT = 86400000; public static final int DEF_READ_TIMEOUT = 86400000; //public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"; //配置您申请的KEY public static final String APPKEY ="*************************"; /* * 需求计划测试 */ @org.junit.Test public void getPlanTest() throws UnsupportedEncodingException { String result =null; String url ="url(地址)?str=";//请求接口地址 Map<String, Object> params = new HashMap<>();//请求参数 //params.put("key",APPKEY);//APPKEY值 List<Map<String, Object>> list = new ArrayList<>(); Map<String, Object> params0 = new HashMap<>();//请求参数// params0.put("userid","1458"); params0.put("personid","CHENRENJUN"); params0.put("tableName","pr"); Map<String, Object> params1 = new HashMap<>(); params1.put("description",URLEncoder.encode("测试审核流程","UTF-8")); //URLEncoder.encode("测试审核流程","UTF-8") params0.put("tableFields",params1); list.add(params0); params.put("tableLists",list); url = url+JSONObject.fromObject(params); System.out.println(url); try { System.out.println(params+"发送请求前"); result =net(url, null, "POST"); System.out.println(result+"请求返回数据"); JSONObject object = JSONObject.fromObject(result); System.out.println(object); /*if(object.getInt("error_code")==0){ System.out.println(object.get("result")); }else{ System.out.println(object.get("error_code")+":"+object.get("reason")); }*/ if(object.getString("result") != null){ System.out.println(object.get("result")); object = JSONObject.fromObject(object.get("result")); System.out.println(object.get("prnum")+"==="+object.get("status")); } } catch (Exception e) { e.printStackTrace(); } } /** * * @param strUrl 请求地址 * @param params 请求参数 * @param method 请求方法 * @return 网络请求字符串 * @throws Exception */ public static String net(String strUrl, Map<String, Object> params,String method) throws Exception { HttpURLConnection conn = null; BufferedReader reader = null; String rs = null; try { StringBuffer sb = new StringBuffer(); if(method==null || method.equals("GET")){ strUrl = strUrl+"?"+urlencode(params); } URL url = new URL(strUrl); conn = (HttpURLConnection) url.openConnection(); if(method==null || method.equals("GET")){ conn.setRequestMethod("GET"); }else{ conn.setRequestMethod("POST"); conn.setDoOutput(true); } //conn.setRequestProperty("User-agent", userAgent); conn.setUseCaches(false); conn.setConnectTimeout(DEF_CONN_TIMEOUT); conn.setReadTimeout(DEF_READ_TIMEOUT); conn.setInstanceFollowRedirects(false); conn.connect(); if (params!= null && method.equals("POST")) { try { DataOutputStream out = new DataOutputStream(conn.getOutputStream()); out.writeBytes(urlencode(params)); } catch (Exception e) { e.printStackTrace(); } } InputStream is = conn.getInputStream(); reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET)); String strRead = null; while ((strRead = reader.readLine()) != null) { sb.append(strRead); } rs = sb.toString(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { reader.close(); } if (conn != null) { conn.disconnect(); } } return rs; } //将map型转为请求参数型 public static String urlencode(Map<String,Object>data) { StringBuilder sb = new StringBuilder(); for (Map.Entry i : data.entrySet()) { try { sb.append(i.getKey()).append(":").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } return sb.toString(); }}
阅读全文
0 0
- 服务器之间传输数据
- 浏览器和服务器之间传输数据
- linux下两台服务器之间传输数据命令
- linux scp-两台服务器之间传输数据的命令
- Android:客户端和服务器之间传输数据加密
- Android:客户端和服务器之间传输数据加密
- Android:客户端和服务器之间传输数据加密
- navigationController 之间传输数据
- Activity之间传输数据
- 不同服务器之间进行传输
- linux主机之间传输数据
- Android--Activity之间传输数据
- 三层中如何在服务器与客户端之间传输自定义的'Record'类型数据的例子
- 数据库增量同步(二台SQL Server服务器的数据库之间增量传输数据)(jaime原创)
- Linux--服务器之间传输之scp用法
- 两台linux服务器之间传输文件
- centos服务器之间传输文件免登录
- windows服务器之间自动传输问题解决过程
- The configuration file "vmname.vmx" was created by a VMware product that is incompatible with this v
- PAT basic 1067
- java算法—希尔排序
- java配置环境变量
- C++构造函数初始化顺序详解
- 服务器之间传输数据
- 如何使用vue实现一个简易的购物车
- linux下利用openssl来实现证书的颁发(详细步骤)
- JDBC中Scrollable ResultSet(滚动结果集)(四)
- PAT basic 1068
- 算法题/层次遍历二叉树
- Android SVG动画animated-vector使用
- 位图的简单实现(bitMap)
- 多版本jdk/eclipse/tomcat的处理