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


    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;
        }
    }
    
    
    
     



  • 相关阅读:
    长进程后用电脑发送提示消息到手机微信
    python-openCV 绘制图形
    python调用C++实例:用C++对numpy执行BFS(广度优先搜索)
    numpy中多维数组的绝对索引
    python调用C++ DLL 传参技巧
    React 中常见的动画实现方式
    H5和android原生APP之间的区别
    【转发】三层架构、MVC以及与SSM架构的对应关系(通俗易懂)
    VS code 设置中文后没有反应仍然是英文
    从数据库中获取信息显示在select下拉框中并实现联动
  • 原文地址:https://www.cnblogs.com/xijieblog/p/4540025.html
Copyright © 2020-2023  润新知