java中GET方式提交的示例:

       /*** 获取关注列表;* @return*/@SuppressWarnings("unchecked")public static ArrayList<String> getUserList() {StringBuffer bufferRes = new StringBuffer();ArrayList<String> users = null;try {URL realUrl = new URL("https://api.weixin.qq.com/cgi-bin/user/get?access_token=" + TokenProxys.accessTokens());//URL realUrl = new URL("https://api.weixin.qq.com/cgi-bin/user/tag/get?access_token=" + TokenProxys.accessTokens());
                    HttpURLConnection conn = (HttpURLConnection)realUrl.openConnection();// 请求方式
conn.setDoOutput(true);conn.setDoInput(true);conn.setRequestMethod("GET");conn.setUseCaches(false);conn.setInstanceFollowRedirects(true);conn.setRequestProperty("Content-Type","application/json");conn.connect();// 获取URLConnection对象对应的输入流
InputStream in =conn.getInputStream();BufferedReader read =new BufferedReader(new InputStreamReader(in,"UTF-8"));String valueString =null;while ((valueString=read.readLine())!=null){bufferRes.append(valueString);}System.out.println(bufferRes);in.close();if (conn !=null){// 关闭连接
conn.disconnect();}} catch (Exception e) {e.printStackTrace();}//将返回的字符串转换成json
JSONObject jsonObject = JSONObject.fromObject(bufferRes.toString());//解析json中表示openid的列表
JSONObject data = (JSONObject)jsonObject.get("data");if(data!=null){//将openid列表转化成数组保存
users = new ArrayList<String>(data.getJSONArray("openid"));//获取关注者总数int count = Integer.parseInt(jsonObject.get("total").toString());if(count>1000){JSONObject object = jsonObject;String next_openid = null;JSONObject ob_data = null;ArrayList<String> ob_user = null;//大于1000需要多次获取,或许次数为count/1000for(int i=0;i<count/1000;i++){//解析出下次获取的启示openid
next_openid = object.get("next_openid").toString();object = getUserJson(next_openid);ob_data = (JSONObject)object.get("data");ob_user = new ArrayList<String>(ob_data.getJSONArray("openid"));for(String open_id : ob_user){//将多次获取的openid添加到同一个数组
users.add(open_id);}}}}return users;}

java中POST方式提交的示例:

    public static void main(String[] args) {try { String pathUrl = "https://api.weixin.qq.com/cgi-bin/user/tag/get?access_token=zN6OKXWAdBKdwPUc1CFXIW-czck3W1CURoKr38Xy7jjDpyIxrpmSyfglAY1Bnvq3FePZbFVUzpeLfWC9lml7ENeApBJhSDXE-BRrHCmBsTk4gUI6DxxDgrGekrdkUSDkETAhAGAZOV"; // 建立连接 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请求方法//POST请求设置所需要的JSON数据格式{"tagid" : 134,"next_openid":""//第一个拉取的OPENID,不填默认从头开始拉取}List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();Map<String, Object> map = new HashMap<String, Object>();map.put("tagid", 104);map.put("next_openid","");list.add(map);JSONArray arry=JSONArray.fromObject(map);String requestString = arry.toString().replace("[", "").replace("]", "");// 设置请求属性 // 获得数据字节数据,请求数据流的编码,必须和下面服务器端处理请求流的编码一致 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"); // 建立输出流,并写入数据 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.err.println(sb.toString());} } catch (Exception ex) { ex.printStackTrace(); } }    

post请求向服务器传递参数的另外一种形式:

服务器端接受参数:String datas= request.getParameter("datas");

    public static void sendPost() throws IOException{List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();Map<String, Object> map = new HashMap<String, Object>();map.put("phone", "phone");list.add(map);JSONArray arry=JSONArray.fromObject(map);String requestString = arry.toString();String result="";PrintWriter out = null;  BufferedReader in = null; String pathUrl = "http://shuilangyizu.iask.in/app/appWechatDataController/wchatInfo.do";URL url=null;try {url = new URL(pathUrl);URLConnection connect = url.openConnection();connect.setRequestProperty("content-type","application/x-www-form-urlencoded;charset=utf-8");connect.setRequestProperty("method","POST");byte[] bytes= requestString.getBytes("utf-8") ;connect.setDoOutput(true);  connect.setDoInput(true);  out = new PrintWriter(connect.getOutputStream());  // 发送请求参数  out.print("datas="+requestString);out.flush();  // 定义BufferedReader输入流来读取URL的响应  in = new BufferedReader(new InputStreamReader(connect.getInputStream()));  String line;  while ((line = in.readLine()) != null) {  result +=  line;  }   System.out.println(result);   } catch (Exception e) {// TODO Auto-generated catch block
             e.printStackTrace();}}

java中GET方式提交和POST方式提交相关推荐

  1. java直接调用复制文件,java中文件复制的4种方式,java文件的复制

    java中文件复制的4种方式,java文件的复制 今天一个同事问我文件复制的问题,他一个100M的文件复制的指定目录下竟然成了1G多,吓我一跳,后来看了他的代码发现是自己通过字节流复制的,定义的字节数 ...

  2. Java中HashMap遍历的两种方式

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...

  3. JAVA中集合输出的四种方式

    在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello {public stati ...

  4. java中Map遍历的四种方式

    java中Map遍历的四种方式 在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方 ...

  5. Java中实现接口的三种方式您造吗?

    本文介绍了Java中实现接口的三种方式:常规实现方式.匿名内部类和 Lambda表达式实现方式.希望已经了解的同学可以重新温习一下,不了解的同学则从中受益! Java中接口最常规的实现方式 同学们都会 ...

  6. JAVA中利用break加标签的方式跳出双重for循环

    JAVA中利用break加标签的方式跳出双重for循环 一般情况下,使用break只能跳出当前层的for循环,但是加了标签的话,就可以跳出多重循环. public class TestBreak {@ ...

  7. java中实现多线程的三种方式

    java中实现多线程的三种方式 1.实现多线程的方法: 在java中实现多线程的两途径:继承Thread类,实现Runable接口(Callable) 2.继承Thread类实现多线程: ​ 继承类T ...

  8. java中Map遍历的三种方式

    Java中Map遍历的三种方式 前言 一:在for循环中使用entries实现Map的遍历: 二:在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能 ...

  9. 代码示例:Java中定义数组的三种方式

    在Java中,数组的定义有三种方式,其基本语法格式如下: 数组类型[] 数组名 = new 数组类型[数组长度]; 数组类型[] 数组名 = new 数组类型[]{数组元素0,数组元素1,...}; ...

  10. Java中Http连接的两种方式

    在java中连接http,介绍两种方法,一种是java的HttpUrlConnection,另一种是apacha公司的httpClient,后者是第三方的类库需要从外部,导入,同时这也是第一次使用外部 ...

最新文章

  1. C#笔记2__Char类、String类、StringBuilder类 / 正则表达式 /
  2. 空间刚架matlab_Matlab绘制空间几何图
  3. 查看java返回的值,JavaScript 遍历对象查找指定的值并返回路径
  4. throw throws 区别
  5. JavaScript--获取页面盒子中鼠标相对于盒子上、左边框的坐标
  6. matlab的fft点数,matlab fft的点数问题
  7. fetch与XHR的区别与优势
  8. 如何在EJB3中JNDI调用SessionBean(二)
  9. 用PHP生成随机数的函数
  10. Java中Set的使用
  11. Redis:四、jedis连接redis服务器
  12. TortoiseGit--小乌龟git项目中的使用简介
  13. eclipse中文版设置字体大小
  14. 机器人搬运码垛工作站
  15. java简单小程序 生日快乐,跪求一祝福别人生日快乐小程序
  16. Zeloof 自制芯片工艺
  17. 《Python编程:从入门到实践》配套资源 官方网站免费下载
  18. 解决荣耀系列手机打开usb调试无法连接adb的问题
  19. 详解Redis和Memcached
  20. 国之重器 望穿秋水——北邮老师廖建新介绍

热门文章

  1. LeetCode695. 岛屿的最大面积(C#)
  2. c语言程序后退_c语言中向后退一格是啥符号?
  3. Spring-Cloud 学习笔记-(4)负载均衡器Ribbon
  4. js实现替换指定字符后面的内容(包括指定字符)
  5. (OS X) OpenCV架构x86_64的未定义符号:错误(OpenCV Undefined symbols for architecture x86_64: error)...
  6. Linux 系统常用命令汇总(二) vi 文本编辑
  7. 构造函数为什么不能是虚函数 ( 转载自C/C++程序员之家)
  8. (转)SystemProcessesAndThreadsInformation
  9. 输入法智能化发展历程
  10. antdesignvue upload vue3个人笔记待更新