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