小编Pal*_*lak的帖子

java.io.IOException:未验证主机名

我正在尝试从Andorid版本4.1.1中的Android应用程序连接到URL,我收到了问题标题中指出的错误,但是当我尝试从Andorid版本4.0.4或3.1连接相同的URL时一切正常.

代码片段:

    try {
        .
        .
        .
        URL url = new URL(urlStr);
        Log.i(TAG,"[ URL ] " + urlStr);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        int size = conn.getContentLength();
        int responsecode = conn.getResponseCode();
        Log.d(TAG, "Responsecode: " + responsecode);
        .
        .
        .
        } catch (Exception e) {
        e.printStackTrace();
        }


private static void trustAllHosts() {

        TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                    return new java.security.cert.X509Certificate[] {};
            }

            public void checkClientTrusted(X509Certificate[] chain,
                            String authType) throws CertificateException {
            }

            public …
Run Code Online (Sandbox Code Playgroud)

android http

40
推荐指数
5
解决办法
5万
查看次数

javax.net.ssl.SSLException:证书中的主机名与android不匹配

我正在创建一个Android应用程序,我在其中发送数据到Web服务,但我收到javax.net.ssl.SSLException的错误:证书中的主机名不匹配android这里是我的代码

 AsyncHttpClient clien= new AsyncHttpClient();


              Log.i("URL", String.valueOf(base_url+"Race.svc/json/Race/Scanners/Add/"+series_event_raceid+"/"+qrCode));
              clien.put(base_url+"Race.svc/json/Race/Scanners/Add/"+series_event_raceid+"/"+qrCode, new AsyncHttpResponseHandler() {}
Run Code Online (Sandbox Code Playgroud)

其中series_event_raceid = 103和qrcode = R12g***

有人请帮助我

这是我的logcat

08-18 10:06:24.272: W/System.err(5297): javax.net.ssl.SSLException: hostname in certificate didn't match: <development.racerunner.com> != <racerunner.com> OR <racerunner.com>
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:185)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.verify(BrowserCompatHostnameVerifier.java:54)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:114)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:95)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:388)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:165)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
08-18 10:06:24.272: W/System.err(5297): …
Run Code Online (Sandbox Code Playgroud)

android qr-code http android-asynctask

8
推荐指数
1
解决办法
1万
查看次数

Android,如何启动活动锁定屏幕

我希望通过锁定屏幕上的推送通知启动我的活动,而无需更改锁定.

该活动的任何特殊许可?

android

7
推荐指数
2
解决办法
7367
查看次数

蓝牙LE外设在与蓝牙LE中央设备连接时停止广告

我想开发类似蓝牙LE外围设备的应用程序,它在与蓝牙LE中央设备连接时停止广告,并限制连接多个蓝牙LE中心的蓝牙LE外围设备.

一个蓝牙LE外围设备一次只能连接一个蓝牙LE中央设备.蓝牙LE外设和蓝牙LE中心成功连接后,其他蓝牙LE中央设备无法扫描

直到现在我尝试下面的代码:

private final BluetoothGattServerCallback mGattServerCallback = new BluetoothGattServerCallback() {

        @Override
        public void onServiceAdded(int status, BluetoothGattService service) {
                                                                                                            super.onServiceAdded(status, service);
        }

        @Override
        public void onConnectionStateChange(BluetoothDevice device, final int status, int newState) {
            super.onConnectionStateChange(device, status, newState);
            if (status == BluetoothGatt.GATT_SUCCESS) {
                if (newState == BluetoothGatt.STATE_CONNECTED) {
                    mBluetoothDevices.add(device);

                    // Bluetooth LE peripheral stop advertising on connect with Bluetooth LE central device
                    mAdvertiser.stopAdvertising(mAdvCallback);

                    Log.v(TAG, "Connected to device: " + device.getAddress());
                } else if (newState == BluetoothGatt.STATE_DISCONNECTED) {
                    mBluetoothDevices.remove(device);
                    Log.v(TAG, "Disconnected from device"); …
Run Code Online (Sandbox Code Playgroud)

android bluetooth bluetooth-lowenergy

7
推荐指数
1
解决办法
2430
查看次数