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

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

 
时间: 2024-10-12 02:56:30

如何获取微信用户的名字等信息的相关文章

Magicodes.WeiChat——使用OAuth 2.0获取微信用户信息

使用Magicodes.WeiChat,可以很方便的获取到微信用户的信息.在使用OAuth 2.0之前,你先需要做以下操作: 1)在开发者中心修改[网页授权获取用户基本信息],在弹出的界面输入自己的根域名.比如:weichat.chinacloudsites.cn 如下图所示: 2)配置菜单或者链接(如果使用特性“WeChatOAuth”,本步骤可以略过,这里只是介绍下原理,具体请参考步骤3的说明).Magicodes.WeiChat在控制器WeiChatController中进行处理,配置路径

小白学react之网页获取微信用户信息

通过上一篇<小白学react之EJS模版实战>我们学习了如何通过EJS模版生成我们高定制化的index.html文件. 本篇我们将会继续延续我们的alt-tutorial项目的实战计划,去获取微信扫码用户的信息,并将头像显示在我们页面的右上角上. 最终实战效果将如下所示. 首先根据我们的网站url生成二维码,比如我们可以通过浏览器的FeHelper来生成: 然后用户通过微信扫码: 最后用户确定授权后获取到用户的基本信息,并将头像显示在右上角: 1. 内网穿透准备 我们获取微信用户信息的过程中,

Android 微信登录昵称乱码问题,及获取微信用户信息

微信第三方登录时昵称,username乱码问题解决方法如下: /** * 获取微信用户信息 * @param access_token 调用凭证 * @param openid 普通用户的标识,对当前开发者帐号唯一 * @return */ public static String getWeixinUserinfo(String access_token, String openid){ String URLs = ChildendConstant.WEIXIN_USERINFO;//微信登录

python flask获取微信用户信息报404,nginx问题

在学习flask与微信公众号时问题,发现测试自动回复/wechat8008时正常,而测试获取微信用户信息/wechat8008/index时出现404.查询资料后收发是nginx配置问题. 在location后面加上=是严格匹配,url后面必须完全一至,不加等号则是只要url是以该信息开头就匹配成功.所以去掉等号,重启nginx正常. 将 location = /wechat8008 {改为 location /wechat8008 { 重启nginx sudo /usr/local/nginx

基于ThinkPHP框架小程序获取微信用户信息并将存进数据库

场景描述:在微信小程序中,我们可能用到很多种登陆方式,例如用手机作为标识登陆亦或者用微信信息作为标识登陆(但这写都要看你的项目需要),在这里我说一下如何使用微信信息作为标识登陆. 编程思路:分三步走,第一步微信信息获取发送给后台->第二步解密微信信息验证数据库->登陆成功保存缓存并且更新token 小程序前端处理 1 //调用登录接口,获取 code 2 wx.login({ 3 success: function (res) { 4 //微信js_code 5 that.setData({

微信公众平台开发—利用OAuth2.0获取微信用户基本信息

1.首先在某微信平台下配置OAuth2.0授权回调页面: 2.通过appid构造url获取微信回传code值(appid可在微信平台下找到) 1).微信不弹出授权页面url: A.code回传到页面wxProcess2.aspx,不带参数 [csharp] view plain copy Response.Redirect("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid + "&

获取微信昵称、头像等信息方法

在PHP文件里加入以下代码: <?php require_once("getUserInfo/getUserInfo.php");  //获取微信信息php $test = new Webweixin(); $userinfo = $test->get_userinfo(); print_r("headimgurl:".$userinfo['headimgurl']."openid:".$userinfo['openid'].&quo

获取微信用户列表Openid

/**     * 获取微信用户列表Openid     *      * @param nextOpenid     * @return     */    public static JSONArray getWechatUserOpenIds(String nextOpenid) {        // 获取微信用户openid的json数组        JSONArray openIdArry = null;        // 获取微信的access_token凭证        S

获取微信用户openid

最近在做一个从app分享链接到微信的工作.产品需要有一个点赞功能.每人只能点一次赞. 在网上搜了搜,发现微信的公众账号可以获取到用户的openid和其他的一些用户信息. 首先你的网站入口必须是微信服务号(开通认证.拥有获取用户openid权限:订阅号是不行的).其次网页通过微信的Oauth2认证链接. 微信公众平台开发手册:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html 然后通过服务号菜单链接进入网站,如