文档章节

如何获取微信用户的名字等信息

y
 yiranxijie
发布于 2015/06/01 11:23
字数 526
阅读 26
收藏 0
package com.aa.util;

import org.apache.log4j.Logger;

import com.aa.servlets.WeixinServlet;

import net.sf.json.JSONObject;

public class GetUserNickNameUtil {
	
	public static String getUserNickNameTest(String OPENID) {
                //注意:这里ACCESS_TOKEN是用测试号获取的,OPENID是fromUserName
                String ACCESS_TOKEN=GetAccess_TokenUtil.getAccess_Token();
		String url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token="+ACCESS_TOKEN+"&openid="+OPENID;
		String json = HttpRequest.httpStringRequest(url, "GET", null);
		JSONObject jn=JSONObject.fromObject(json);
//		System.out.println(jn.get("nickname"));
		return jn.get("nickname").toString();
	}

}


package com.aa.util;

import net.sf.json.JSONObject;

public class GetAccess_TokenUtil {

    public static String getAccess_Token(){
        String url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
        url=url.replace("APPID", "yourAPPID").replace("APPSECRET", "yourAPPSECRET");
        JSONObject json=HttpRequest.httpRequest(url, "GET", null);
        String access_token=json.getString("access_token");
        return access_token;
    }

}


package com.aa.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.logging.Logger;

import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;



import net.sf.json.JSONObject;

public class HttpRequest {
//        private static final Logger logger=Logger.getLogger(MenuUtil.class);
        public static final String access_tokenUrl="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
        
        public static JSONObject httpsRequest( String requestUrl,String requestMethod,String message){
            JSONObject json=null;
            //得到请求的地址
            try {
                TrustManager[] tm={new MyX509TrustManager()};
                SSLContext ssl=SSLContext.getInstance("SSL", "SunJSSE");
                ssl.init(null, tm,new java.security.SecureRandom());
                SSLSocketFactory ssf=ssl.getSocketFactory();
                URL url=new URL(requestUrl);
                HttpsURLConnection http=(HttpsURLConnection)url.openConnection();
                http.setSSLSocketFactory(ssf);
                http.setDoOutput(true);
                http.setDoInput(true);
                http.setUseCaches(false);
                
                http.setRequestMethod(requestMethod);
                
                System.setProperty("sun.net.client.defaultConnectionTimeout", "30000");
                System.setProperty("sun.net.client.defaultReadTimeout", "30000");
                if(message!=null){
                    OutputStream outputStream=http.getOutputStream();
                    outputStream.write(message.getBytes("UTF-8"));
                    outputStream.close();
                    
                }
                
                InputStream is=http.getInputStream();
                InputStreamReader inputStreamReader=new InputStreamReader(is,"UTF-8");
                BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
                String str=null;
                StringBuffer buffer=new StringBuffer();
                while((str=bufferedReader.readLine())!=null){
                    buffer.append(str);
                }
                
                inputStreamReader.close();
                bufferedReader.close();
                is.close();
                is=null;
                http.disconnect();
                json=JSONObject.fromObject(buffer.toString());
            } catch (Exception e) {
                
                e.printStackTrace();
            } 
            return json;
        }
        public static JSONObject httpRequest( String requestUrl,String requestMethod,String message){
            JSONObject json=null;
            //得到请求的地址
            try {
                URL url=new URL(requestUrl);
                HttpURLConnection http=(HttpURLConnection)url.openConnection();
                http.setDoOutput(true);
                http.setDoInput(true);
                http.setUseCaches(false);
                
                http.setRequestMethod(requestMethod);
                if(message!=null){
                    OutputStream outputStream=http.getOutputStream();
                    outputStream.write(message.getBytes("UTF-8"));
                    outputStream.close();
                    
                }
                
                InputStream is=http.getInputStream();
                InputStreamReader inputStreamReader=new InputStreamReader(is,"UTF-8");
                BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
                String str=null;
                StringBuffer buffer=new StringBuffer();
                while((str=bufferedReader.readLine())!=null){
                    buffer.append(str);
                }
                
                inputStreamReader.close();
                bufferedReader.close();
                is.close();
                is=null;
                http.disconnect();
                json=JSONObject.fromObject(buffer.toString());
            } catch (Exception e) {
                
                e.printStackTrace();
            } 
            return json;
        }
        
        public static String httpStringRequest( String requestUrl,String requestMethod,String message){
            String result="";
            //得到请求的地址
            try {
                URL url=new URL(requestUrl);
                HttpURLConnection http=(HttpURLConnection)url.openConnection();
                http.setDoOutput(true);
                http.setDoInput(true);
                http.setUseCaches(false);
                
                http.setRequestMethod(requestMethod);
                if(message!=null){
                    OutputStream outputStream=http.getOutputStream();
                    outputStream.write(message.getBytes("UTF-8"));
                    outputStream.close();
                    
                }
                
                InputStream is=http.getInputStream();
                InputStreamReader inputStreamReader=new InputStreamReader(is,"UTF-8");
                BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
                String str=null;
                StringBuffer buffer=new StringBuffer();
                while((str=bufferedReader.readLine())!=null){
                    buffer.append(str);
                }
                
                inputStreamReader.close();
                bufferedReader.close();
                is.close();
                is=null;
                http.disconnect();
        //        json=JSONObject.fromObject(buffer.toString());
                result=buffer.toString();
            } catch (Exception e) {
                
                e.printStackTrace();
            } 
            return result;
        }
        
        
}
class MyX509TrustManager implements X509TrustManager{

    public void checkClientTrusted(X509Certificate[] arg0, String arg1)
            throws CertificateException {
        // TODO Auto-generated method stub
        
    }

    public void checkServerTrusted(X509Certificate[] arg0, String arg1)
            throws CertificateException {
        // TODO Auto-generated method stub
        
    }

    public X509Certificate[] getAcceptedIssuers() {
        // TODO Auto-generated method stub
        return null;
    }
}



 



本文转载自:http://blog.csdn.net/u013863751/article/details/45350107

y
粉丝 0
博文 26
码字总数 0
作品 0
成都
私信 提问
如何实现微信小程序换头像?三步帮你搞定!

背景 2019年10月1日在祖国70周年大庆之际,微信朋友圈被大家纷纷@微信官方要国旗的景象给刷屏了,在为祖国庆生的同时,玩的不亦乐乎。 在9月25日,我心血来潮决定在国庆前开发一个换头像的微...

快狗打车前端团队
2019/10/16
0
0
关于微信开发

什么是微信openid? 某个微信账号,针对某个公众号,的唯一标示,而且不变;针对不同的公众号会有不同的openid; openid有什么用? 用来获取用户基本信息,头像、昵称、性别、地区等 昵称带ios...

samuel2012
2015/10/13
366
0
微信公众号运营,什么内容才是用户关注的?

  微信用户的逐渐累积,激发微信大号的兴起,其所有者可以是组织也可以是个人。微信用户关注的大号类别千姿百态,“众口难调”确实很难让一个微信大号赢得所有人的芳心,芸芸众生中生存的关...

公众开发运营官网
2018/11/14
0
0
微信JS-SDK之地理位置的获取与在线导航,集成百度地图实现在线地图搜索

原创声明:本文来源于本人另一博客【微信JS-SDK之地理位置的获取,集成百度地图实现在线地图搜索】原创作品,绝非他处摘取,转载请联系博主 本次讲解微信开发第三篇:获取用户地址位置信息,...

半山闲人
2017/05/24
0
0
利用AccessibilityService自动获取微信号(Android)

前言: 最近遇到一个需求,要求写一个小插件,能够自动在微信的页面弹出一个窗口,展示用户的相关信息(与我们公司有关的信息,方便运营快速了解用户信息)。 当时我第一反应是不可能,如果能...

懒星人
2018/11/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

六、Spring Cloud之配置中心config

前言 前面我们讲了微服务的注册中心、负载均衡、熔断处理、网管服务。接下来我们讲配置中心,为什么要用配置中心呢? 其实我们接触一段时间就可以发现,我们的项目还是非常多的,每个项目都有...

quellanan2
4分钟前
13
0
在Android的EditText视图中允许多行?

如何在Android的EditText视图中允许多行? #1楼 这对我有用 ,实际上这两个属性很重要: inputType和lines 。 此外,您可能需要一个滚动条,下面的代码显示了如何制作一个: <EditText ...

技术盛宴
8分钟前
13
0
分享自己写的JS版日期格式化和解析工具类,绝对好用!

前言 本来想模仿Java里面的SimpleDateFormat()对象的,但是感觉这样用起来不方便,所以还是直接写成单独的方法算了。 原文链接 日期格式化 2.1. 使用说明 formatDate(date, fmt),其中fmt支持...

SuShine
18分钟前
27
0
快递鸟api物流查询接口实现订阅物流轨迹单号查询功能对接调用

背景: 分享一篇关于在电商系统中同步物流轨迹到本地服务器的文章,当前方案使用了快递鸟集成api做为数据来源接口,这个接口是免费使用的,不过提供的功能还是非常强大的,有专门的售后维护团...

程序的小猿
22分钟前
24
0
Day08多态,abstract,接口

1.A:多态的概述:事物存在的多种形态。 B:多态前提:要有继承关系,方法重写和父类引用子类对象。 父类引用子类对象:Animal a = new Cat(); a.eat(); //效果等同于c.eat(); 2.多态中的...

Lao鹰
28分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部