GetRequest和SSLPeerUnverifiedException:没有对等证书

时间:2014-12-23 20:24:40

标签: android https ssl-certificate http-get

我尝试发送https Get Request.i写了一些代码来发送请求,但我有SSLPeerUnverifiedException:没有对等证书。这是我的来源

public void SendHttpGetRequest(final String mykey, final String mydt) {

    class CheckLattery extends AsyncTask<String, Void, String> {
        ProgressDialog pDialog;

        @Override
        protected void onPreExecute() {
            super.onPreExecute();

            pDialog = new ProgressDialog(MainActivity.this);

            pDialog.setCancelable(false);
            pDialog.show();
            pDialog.setContentView(R.layout.custom_progressdialog);
        }
        @Override
        protected String doInBackground(String... params) {

            HttpClient httpClient = createHttpClient();
            try {

                HttpGet httpGet = new HttpGet(
                        "https://**********/api/");
                httpGet.setHeader("key", mykey);

                httpGet.setHeader("dt", mydt);
                HttpResponse httpResponse = httpClient.execute(httpGet);

                System.out.println("httpResponse");
                InputStream inputStream = httpResponse.getEntity()
                        .getContent();
                InputStreamReader inputStreamReader = new InputStreamReader(
                        inputStream);
                BufferedReader bufferedReader = new BufferedReader(
                        inputStreamReader);
                StringBuilder stringBuilder = new StringBuilder();

                String bufferedStrChunk = null;
                while ((bufferedStrChunk = bufferedReader.readLine()) != null) {
                    stringBuilder.append(bufferedStrChunk);
                }
                System.out.println("Returning value of doInBackground :"
                        + stringBuilder.toString());
                return stringBuilder.toString();

            } catch (ClientProtocolException cpe) {
                System.out
                        .println("Exception generates caz of httpResponse :"
                                + cpe);
                cpe.printStackTrace();
            } catch (IOException ioe) {
                System.out
                        .println("Second exception generates caz of httpResponse :"
                                + ioe);
                ioe.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
            if (pDialog != null) {
                pDialog.dismiss();
                pDialog = null;
            }

            Log.wtf("result", result+"res");

        }
    }
    CheckLattery latterychek = new CheckLattery();
    latterychek.execute();
}




public static HttpClient createHttpClient() {
    HttpParams params = new BasicHttpParams();
    HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
    HttpProtocolParams.setContentCharset(params,
            HTTP.DEFAULT_CONTENT_CHARSET);
    HttpProtocolParams.setUseExpectContinue(params, true);

    SchemeRegistry schReg = new SchemeRegistry();
    schReg.register(new Scheme("http", PlainSocketFactory
            .getSocketFactory(), 80));
    schReg.register(new Scheme("https",
            SSLSocketFactory.getSocketFactory(), 443));
    ClientConnectionManager conMgr = new ThreadSafeClientConnManager(
            params, schReg);

    return new DefaultHttpClient(conMgr, params);
}

我搜索过,我发现了一些例子,但我无法解决我的问题。我不知道我的代码中有什么问题。 如果有人知道解决方案,请帮助我 感谢

0 个答案:

没有答案