連接電信iot平臺分享

分享一下本人調試app連接電信平臺的新得;使用url在app裏面連接電信平臺第一次連接心態就崩了  ,主要是證書太不明白了

導出證書這裏是參考別人的文章

這裏新建一個config文件夾放如下文件:

 

直接上鑑權代碼

public static String request(Context context, String method, String url,
                         List<NameValuePair> param) throws Exception {
      HttpResponse response;
      String result_https="";
      if (method.equals(REQUEST_TYPE_GET)){
         String ps ="";
         if (param != null) {
            List<NameValuePair> param2 = new ArrayList<NameValuePair>();
            for (int i = 0; i < param.size(); i++) {
               if (i>0) ps+="&";
               String key = param.get(i).getName();
               String value =param.get(i)
                     .getValue();
               ps+=key+"="+value;
            }

             ps = URLEncodedUtils.format(param2, HTTP.UTF_8);
            // 通過url創建對象
            if (url.indexOf("?") > 0) {
               url += "&" + ps;
            } else {
               url += "?" + ps;
            }
         }
         SSLSocketFactory ssl=DataManager.GETSSLinitHttpClientBook(context);

         HttpClient httpClient = new DefaultHttpClient();
         if (ssl != null) {
            Scheme sch = new Scheme("https", ssl, 443);
            httpClient.getConnectionManager().getSchemeRegistry().register(sch);
         }
         HttpGet request = new HttpGet(url);
         // 發起請求,獲取迴應,自封裝接口,詳見附錄
          response = httpClient.execute(request);
         HttpEntity httpEntity = response.getEntity();

         // 得到一些數據

         // 通過EntityUtils並指定編碼方式取到返回的數據

         StatusLine statusLine = response.getStatusLine();

         statusLine.getProtocolVersion();
         int statusCode = statusLine.getStatusCode();
         if (statusCode == 200) {
            result_https = (EntityUtils.toString(httpEntity, "utf-8"));
         }else{
            result_https=""+statusCode;
         }

      }else if(method.equals(REQUEST_TYPE_POST)){

         SSLSocketFactory ssl=DataManager.GETSSLinitHttpClientBook(context);

         HttpClient httpClient = new DefaultHttpClient();
         if (ssl != null) {
            Scheme sch = new Scheme("https", ssl, 443);
            httpClient.getConnectionManager().getSchemeRegistry().register(sch);
         }
         HttpPost request = new HttpPost(url);
         if (param != null) {
            List<NameValuePair> param2 = new ArrayList<NameValuePair>();
            for (int i = 0; i < param.size(); i++) {
               String key = param.get(i).getName();
               String value = param.get(i).getValue();
               param2.add(new BasicNameValuePair(key, value));
            }

            request.setEntity(new UrlEncodedFormEntity(param2,
                  HTTP.UTF_8));
         }
//       request.setEntity(new UrlEncodedFormEntity(param));
         // 發起請求,獲取迴應,自封裝接口,詳見附錄
         response = httpClient.execute(request);
         HttpEntity httpEntity = response.getEntity();

         // 得到一些數據

         // 通過EntityUtils並指定編碼方式取到返回的數據

         StatusLine statusLine = response.getStatusLine();

         statusLine.getProtocolVersion();
         int statusCode = statusLine.getStatusCode();
         if (statusCode == 200) {
            result_https = (EntityUtils.toString(httpEntity, "utf-8"));
         }else{
            result_https=""+statusCode;
         }
      }else{
         Log.i("method==", ".....");
      }



      return result_https;

   }

}

 

 

 

如下是安卓調試信息:成功獲取到accessToken     界面我不會搞這裏就不獻醜了

歡迎來http://www.iotclub.net/forum.php  在論壇留言  我們直接發源碼和測試app

目前基本api接口都有用到     我們會在論壇裏面第一時間回覆您

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章