zoukankan      html  css  js  c++  java
  • phonegap 解决https访问问题

    ios报错

    在AppDelegate.m文件在最后加入(在@end后面加空行):
    
    @implementation NSURLRequest(DataController) + (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host {
    
       return YES;
    } @end

    android没出错,出错可以这么解决

    main.java,友盟继承的可以不用看:
    [java] view plaincopy在CODE上查看代码片派生到我的代码片
    public class main extends CordovaActivity   
    {  
            
        @Override  
        public void onCreate(Bundle savedInstanceState)  
        {  
            super.onCreate(savedInstanceState);  
            UmengUpdateAgent.setUpdateOnlyWifi(false);  
            UmengUpdateAgent.update(this);  
            super.init();  
            // Set by <content src="index.html" /> in config.xml  
            super.loadUrl(Config.getStartUrl());  
            
            //super.loadUrl("file:///android_asset/www/index.html")  
        }  
      
        @Override  
        protected CordovaWebViewClient makeWebViewClient(CordovaWebView webView) {  
            // TODO Auto-generated method stub  
             if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {  
                    return new SSLAcceptingCordovaWebViewClient(this, webView);  
                } else {  
                    return new SSLAcceptingIceCreamCordovaWebViewClient(this, webView);  
                }  
        }  
    }  
    
    SSLAcceptingCordovaWebViewClient:
    [java] view plaincopy在CODE上查看代码片派生到我的代码片
    import org.apache.cordova.CordovaInterface;  
    import org.apache.cordova.CordovaWebView;  
    import org.apache.cordova.CordovaWebViewClient;  
    import org.apache.cordova.DroidGap;  
      
    import android.net.http.SslError;  
    import android.webkit.SslErrorHandler;  
    import android.webkit.WebView;  
      
    public class SSLAcceptingCordovaWebViewClient extends CordovaWebViewClient{  
          
        public SSLAcceptingCordovaWebViewClient(CordovaInterface cordova, CordovaWebView view) {  
            super(cordova, view);  
            // TODO Auto-generated constructor stub  
        }  
      
            @Override  
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {  
                // testing against getPrimaryError() or hasErrors() will fail on Honeycomb or older.  
                // You might check for something different, such as specific info in the certificate,  
                //if (error.getPrimaryError() == SslError.SSL_IDMISMATCH) {  
                    handler.proceed();  
                //} else {  
                //    super.onReceivedSslError(view, handler, error);  
                //}  
            }  
    }  
    
    SSLAcceptingIceCreamCordovaWebViewClient.java,名字有点长,网上参考下来的,也懒得去改了:
    [java] view plaincopy在CODE上查看代码片派生到我的代码片
    import org.apache.cordova.CordovaInterface;  
    import org.apache.cordova.CordovaWebView;  
    import org.apache.cordova.IceCreamCordovaWebViewClient;  
      
    import android.net.http.SslError;  
    import android.webkit.SslErrorHandler;  
    import android.webkit.WebView;  
      
    public class SSLAcceptingIceCreamCordovaWebViewClient extends IceCreamCordovaWebViewClient {  
        public SSLAcceptingIceCreamCordovaWebViewClient(CordovaInterface cordova, CordovaWebView view) {  
            super(cordova, view);  
        }  
      
        @Override  
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {  
            handler.proceed();  
        }  
    }  
  • 相关阅读:
    python编写爬虫脚本并实现APScheduler调度
    python实践设计模式(一)概述和工厂模式
    90、java ftp 读取文件
    91、mysql批量删除表
    92、kkfile打印当前页
    CSS3实践之路(四):文本特效
    CSS3实践之路(六):CSS3的过渡效果(transition)与动画(animation)
    CSS3实践之路(二):盒子模型(box Model)和边框(border)
    CSS3实践之路(三):颜色(Color)和背景(Backgroud)
    谈谈javascript中的定时器
  • 原文地址:https://www.cnblogs.com/linn/p/3982005.html
Copyright © 2011-2022 走看看