java给微信发送get和post请求
来源:互联网 发布:java金融项目开发案例 编辑:程序博客网 时间:2024/06/17 05:09
现在做微信订阅号、微信公众号,微信企业号都需要开发者给微信服务器发送get或post请求。具体发送get或post请求源码如下:
package com.ciji.utils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;import java.net.URLConnection;import java.util.List;import java.util.Map;public class HttpRequestUtils { /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return URL 所代表远程资源的响应结果 */ public static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map<String, List<String>> map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader( connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return 所代表远程资源的响应结果 */ public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print(param); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送 POST 请求出现异常!"+e); e.printStackTrace(); } //使用finally块来关闭输出流、输入流 finally{ try{ if(out!=null){ out.close(); } if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return result; } }
junit的测试代码:
package com.ciji.test;import org.junit.Test;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.ciji.utils.HttpRequestUtils;public class WEIXINgetUserInfo { //得到微信token的url private String GETTOKKEN_URL = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"; //参数(企业号id) private String corpid = "替换成企业号Id "; //参数(管理组凭证密钥) private String corpsecret = "替换成管理组凭证密钥"; @Test public void getUserInfos() { String param = "corpid=" + corpid + "&corpsecret=" + corpsecret; String tokenResultJSON = HttpRequestUtils.sendGet(GETTOKKEN_URL, param); /**使用阿里巴巴的jar解析,据网上的json解析比较,常用json解析性能和api好用的关系是: * fastjson > jackjson > Gjson > json-lib (没有亲自测过) */ JSONObject token_json = JSON.parseObject(tokenResultJSON); String access_token = (String) token_json.get("access_token"); System.out.println(access_token +"access_token"); }}
到此就可以通过java给微信发送get或post请求,然后获得access_token就可以进行后续操作了。
java给微信发送get和post请求完整源码下载地址(不要积分):http://download.csdn.net/download/zl544434558/9104389
0 1
- java给微信发送get和post请求
- java 发送get和post请求
- java 发送get和post请求
- java发送http get 和 post 请求
- java发送post请求和get
- Java发送GET和POST请求
- JAVA发送post和get请求
- java 发送get和post请求
- Java后台发送Post和get请求
- Java 发送GET和POST请求
- java发送POST和GET请求
- Java实现发送Get和Post请求
- Java发送Get/Post请求
- Java发送GET,POST请求
- JAVA发送POST+GET请求
- java发送get/post请求
- Java 发送 get, post 请求
- JAVA 发送 POST、GET请求
- RSA算法
- SIM5000简略笔记
- android AbsListView之ListView使用(1)
- HTTP返回状态码合集
- erl_栈,队列
- java给微信发送get和post请求
- Http Response Code
- es6 标准 Promise 学习笔记
- POJ3619解题报告
- DataTable 导出为csv格式文件
- 排序
- Objective-C 【NSMutableArray】
- Failed to fetch URL https://dl-ssl.google.com/glass/gdk/addon.xml, reason: HttpHostConnect Connectio
- apache rewrite 和 .htaccess