調(diào)試出錯NullPointerException at org.apache.http.impl.client.CloseableHttpClient.,獲取不到token
出錯信息: Exception?in?thread?"main"?java.lang.NullPointerException at?org.apache.http.impl.client.CloseableHttpClient.determineTarget(CloseableHttpClient.java:91) at?org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) at?org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107) at?com.imooc.util.WeixinUtil.doGetStr(WeixinUtil.java:35) at?com.imooc.util.WeixinUtil.getAssessToken(WeixinUtil.java:80) at?com.imooc.test.WeixinTest.main(WeixinTest.java:9)
WeixinTest.java:
package?com.imooc.test; import?com.imooc.po.AccessToken; import?com.imooc.util.WeixinUtil; public?class?WeixinTest?{ public?static?void?main(String[]?args){ AccessToken?token?=?WeixinUtil.getAccessToken(); System.out.println("票據(jù):"+token.getToken()); System.out.println("有效時間:"+token.getExpiresIn()); } }
WeixinUtil.java:
public?static?JSONObject?doGetStr(String?url){ DefaultHttpClient?httpClient?=?new?DefaultHttpClient(); // DefaultHttpClient?httpClient?=?new?DefaultHttpClient(); HttpGet?httpGet?=?new?HttpGet(); JSONObject?jsonObject?=?null; try?{ HttpResponse?response?=?httpClient.execute(httpGet); HttpEntity?entity=?response.getEntity(); if(entity?!=null){ String?result?=?EntityUtils.toString(entity,"UTF-8"); jsonObject?=?JSONObject.fromObject(result); } }?catch?(ClientProtocolException?e)?{ e.printStackTrace(); }?catch?(IOException?e)?{ e.printStackTrace(); } return?jsonObject; } /** ?*?post請求 ?*?@param?url ?*?@param?outStr ?*?@return ?*/ public?static?JSONObject?doPostStr(String?url,String?outStr){ DefaultHttpClient?httpClient?=?new?DefaultHttpClient(); HttpPost?httpPost?=?new?HttpPost(url); JSONObject?jsonObject?=?null; try?{ httpPost.setEntity(new?StringEntity(outStr,"UTF-8")); HttpResponse?response?=?httpClient.execute(httpPost); String?result?=?EntityUtils.toString(response.getEntity(),"UTF-8"); jsonObject?=?JSONObject.fromObject(result); }?catch?(Exception?e)?{ e.printStackTrace(); } return?jsonObject; } /** ?*?獲取accessToken ?*?@return ?*/ public?static?AccessToken?getAccessToken()?{ AccessToken?token?=?new?AccessToken(); String?url?=?ACCESS_TOKEN_URL.replace("APPID",?APPID).replace("APPSECRET",?APPSECRET); JSONObject?jsonObject?=?doGetStr(url); if(jsonObject!=null){ token.setToken(jsonObject.getString("access_token")); token.setExpiresIn(jsonObject.getInt("expires_in")); } return?token; } }
AccessToken.java:
package?com.imooc.po; public?class?AccessToken?{ private?String?token; private?int?expiresIn; public?String?getToken()?{ return?token; } public?void?setToken(String?token)?{ this.token?=?token; } public?int?getExpiresIn()?{ return?expiresIn; } public?void?setExpiresIn(int?expiresIn)?{ this.expiresIn?=?expiresIn; } }
加載的jar包:
2017-04-11
我也是報錯空指針,沒傳參數(shù)啊,但我是跟著老師敲的啊
2016-10-09
解決了沒有? 我這邊也是這樣
2016-09-05
?at?com.imooc.util.WeixinUtil.doGetStr(WeixinUtil.java:35)
????at?com.imooc.util.WeixinUtil.getAssessToken(WeixinUtil.java:80)
????at?com.imooc.test.WeixinTest.main(WeixinTest.java:9)
錯誤可能發(fā)生在WeixinUtil.java:80這一行,請把這個類中59行之后的內(nèi)容貼出來,這樣大家可以幫助你分析