欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

微信公眾號(hào)開發(fā)中使用Java如何實(shí)現(xiàn)獲取用戶的信息

微信公眾號(hào)開發(fā)中使用Java如何實(shí)現(xiàn)獲取用戶的信息?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

目前創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、滄州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

1、首先需要到微信網(wǎng)站去設(shè)置一下,我是直接用的微信測(cè)試號(hào)。

接口配置信息必須要填寫的,所以說必須能將自己的服務(wù)發(fā)布出去

微信公眾號(hào)開發(fā)中使用Java如何實(shí)現(xiàn)獲取用戶的信息

微信公眾號(hào)開發(fā)中使用Java如何實(shí)現(xiàn)獲取用戶的信息

 微信公眾號(hào)開發(fā)中使用Java如何實(shí)現(xiàn)獲取用戶的信息

 微信公眾號(hào)開發(fā)中使用Java如何實(shí)現(xiàn)獲取用戶的信息

                             到此微信配置完畢,接下來就是直接上代碼了

2、獲取用戶信息的方式一共是兩種,前提都是用戶關(guān)注微信公眾號(hào),一種是靜默獲取(snsapi_base,這種方式只能獲取openid),另一種是授權(quán)獲取(snsapi_userinfo,可以獲取用戶的詳細(xì)信息)。

      先說第一種

(1)首先需要先訪問微信的鏈接

https://open.weixin.qq.com/connect/oauth3/authorize?appid=xxxxxxxxxxxxxxxx&redirect_uri=http://xxxxxx/open/openid&response_type=code&scope=snsapi_base

           這里的 uri就是直接回掉我們的服務(wù)地址,一定要記住,服務(wù)校驗(yàn)的判斷,我是按照來判斷的echostr(第二種方式也是這樣)

package net.itraf.controller;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSONObject;
@Controller
@RequestMapping("/open")
public class OpenController {
  @RequestMapping("/toOpenId")
  public @ResponseBody String getOpenId(String code,String echostr,HttpServletResponse res) throws IOException{
    if(echostr==null){
      String url="https://api.weixin.qq.com/sns/oauth3/access_token?appid=wx24d47d2080f54c5b&secret=95011ac70909e8cca2786217dd80ee3f&code="+code+"&grant_type=authorization_code";
      System.out.println(code);
      String openId="";
      try {
        URL getUrl=new URL(url);
        HttpURLConnection http=(HttpURLConnection)getUrl.openConnection();
        http.setRequestMethod("GET"); 
        http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
        http.setDoOutput(true);
        http.setDoInput(true);
        http.connect();
        InputStream is = http.getInputStream(); 
        int size = is.available(); 
        byte[] b = new byte[size];
        is.read(b);
        String message = new String(b, "UTF-8");
        JSONObject json = JSONObject.parseObject(message);
        openId = json.getString("openid");
        } catch (MalformedURLException e) {
          e.printStackTrace();
        } catch (IOException e) {
          e.printStackTrace();
        }
      return openId;
    }else{
      PrintWriter out = res.getWriter();
      out.print(echostr);
      return null;
    }
  }
  //做服務(wù)器校驗(yàn)
  @RequestMapping("/tovalid")
  public void valid(String echostr,HttpServletResponse res) throws IOException{
    PrintWriter out = res.getWriter();
    out.print(echostr);
  }
}

第二種

(1)

https://open.weixin.qq.com/connect/oauth3/authorize?appid=xxxxxxxx&redirect_uri=http:// 域名

/open/openid&response_type=code&scope=snsapi_userinfo&state=1&connect_redirect=1#wechat_redirect

package net.itraf.controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/weixin")
public class Oauth3Action {
  @RequestMapping("/oauth")
  public void auth(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    String echostr = request.getParameter("echostr");
    if(echostr==null){
      String appId = "wx24d47d2080f54c5b";
      String appSecret = "95011ac70909e8cca2786217dd80ee3f";
      //拼接
      String get_access_token_url = "https://api.weixin.qq.com/sns/oauth3/access_token?"
          + "appid="
          + appId
          + "&secret="
          + appSecret
          + "&code=CODE&grant_type=authorization_code";
      String get_userinfo = "https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN";
      request.setCharacterEncoding("UTF-8");
      response.setCharacterEncoding("UTF-8");
      String code = request.getParameter("code");
      System.out.println("******************code=" + code);
      get_access_token_url = get_access_token_url.replace("CODE", code);
      String json = HttpsGetUtil.doHttpsGetJson(get_access_token_url);
      JSONObject jsonObject = JSONObject.fromObject(json);
      String access_token = jsonObject.getString("access_token");
      String openid = jsonObject.getString("openid");
      get_userinfo = get_userinfo.replace("ACCESS_TOKEN", access_token);
      get_userinfo = get_userinfo.replace("OPENID", openid);
      String userInfoJson = HttpsGetUtil.doHttpsGetJson(get_userinfo);
      JSONObject userInfoJO = JSONObject.fromObject(userInfoJson);
      String user_openid = userInfoJO.getString("openid");
      String user_nickname = userInfoJO.getString("nickname");
      String user_sex = userInfoJO.getString("sex");
      String user_province = userInfoJO.getString("province");
      String user_city = userInfoJO.getString("city");
      String user_country = userInfoJO.getString("country");
      String user_headimgurl = userInfoJO.getString("headimgurl");
      response.setContentType("text/html; charset=utf-8");
      PrintWriter out = response.getWriter();
      out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
      out.println("<HTML>");
      out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
      out.println(" <BODY>");
      out.print(" This is ");
      out.print(this.getClass());
      out.println(", using the POST method \n");
      out.println("openid:" + user_openid + "\n\n");
      out.println("nickname:" + user_nickname + "\n\n");
      out.println("sex:" + user_sex + "\n\n");
      out.println("province:" + user_province + "\n\n");
      out.println("city:" + user_city + "\n\n");
      out.println("country:" + user_country + "\n\n");
      out.println("<img src=/" + user_headimgurl + "/");
      out.println(">");
      out.println(" </BODY>");
      out.println("</HTML>");
      out.flush();
      out.close();
    }else{
      PrintWriter out = response.getWriter();
      out.print(echostr);
    }
  }
}
package net.itraf.controller;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class HttpsGetUtil {
  public static String doHttpsGetJson(String Url)
  {
    String message = "";
    try
    {
      System.out.println("doHttpsGetJson");//TODO:dd
      URL urlGet = new URL(Url);
      HttpURLConnection http = (HttpURLConnection) urlGet.openConnection(); 
      http.setRequestMethod("GET");   //必須是get方式請(qǐng)求  24      
      http.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); 
      http.setDoOutput(true); 
      http.setDoInput(true);
      System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//連接超時(shí)30秒28   
      System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //讀取超時(shí)30秒29 30    
      http.connect();
      InputStream is =http.getInputStream();
      int size =is.available();
      byte[] jsonBytes =new byte[size];
      is.read(jsonBytes);
      message=new String(jsonBytes,"UTF-8");
    } 
    catch (MalformedURLException e)
    {
       e.printStackTrace();
     }
    catch (IOException e)
     {
       e.printStackTrace();
     } 
    return message;
  }
}

關(guān)于微信公眾號(hào)開發(fā)中使用Java如何實(shí)現(xiàn)獲取用戶的信息問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

新聞標(biāo)題:微信公眾號(hào)開發(fā)中使用Java如何實(shí)現(xiàn)獲取用戶的信息
URL標(biāo)題:http://aaarwkj.com/article4/pchiie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、企業(yè)網(wǎng)站制作網(wǎng)站導(dǎo)航、、網(wǎng)站營銷、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
91精品日日躁夜夜躁欧美| 韩国午夜福利视频网站| 日韩av有码在线播放| 丰满多毛熟妇的大阴户| 激情偷拍一区二区三区视频| 日韩 欧美 国产 亚洲 综合 | 久激情内射婷内射蜜桃| 日本免费一区二区三区等视频 | 国语自产精品视频在线不卡| 欧美黄片免费在线视频| 开心五月婷婷丁香综合| 亚洲人妻av一区二区三区| 加勒比在线观看欧美一区| 亚洲黄色片成年人免费观看| av中文字幕啊嗯不要| av男人的天堂在线免费| 东京男人的天堂国产av| 国产精品粉嫩在线播放| 亚洲av香蕉一区二区| 免费可以看的黄片欧美| 国产传媒视频网站在线观看| 国产三级自拍视频在线观看网站| 精品欧美熟妇高潮喷水特黄| 欧美v日韩v亚洲综合国产高清| 夜夜嗨精品免费视频播放| 日本一级a级黄免视频| 白白色成人永久在线观看视频| 日本东京热不卡一区二区| 国产一区二区爽爽爽视频| 丝袜美腿亚洲综合第一区| 日日摸夜夜添添出白浆| 国产性色精品一区二区| 日本黄色录像黄色录像| 精品国产一区二区三区av在线| 三级日本午夜在线观看| 天堂久久天堂av色综合| av岛国不卡一区二区在线观看| 国产免费一级av剧情| 天天干夜夜泡天天操| 久久香蕉国产线看观看亚洲| 色婷婷激情一区二区三区|