2014-09-12 11 views
5

सेट करके https वेबसाइट पर एंड्रॉइड वेबव्यू ऑटो लॉगिन, जो मैं प्राप्त करने का प्रयास कर रहा हूं वह कुकी के रूप में टोकन सेट करके एक https वेबसाइट पर ऑटोलॉगिन करना है।टोकन कुकी

(यह एंड्रॉयड क्रोम ब्राउज़र पर काम करता है, लेकिन आवेदन वेबव्यू में नहीं)

मूल रूप से मैं दो मुद्दे का सामना करना पड़ रहा है, जबकि https वेब दृश्य में यूआरएल लोड हो रहा है कुकी सेट

अंक 1

मैं के साथ निम्नलिखित लॉग संदेश मिल रहा हूँ।

Failed to validate the certificate chain, error: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

मैं onReceivedSslError अधिभावी की कोशिश की और नीचे के रूप में handler.proceed(); कहा जाता है।

@Override 
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { 
    Log.d(TAG, "==> " + error.toString()); 
    handler.proceed(); 
} 

लेकिन फिर भी मैं सफेद पृष्ठ देखें (मैं प्रमाणपत्र समस्या के कारण इसकी हो रहा है यह सोचते हैं रहा हूँ।)

अंक 2

मैं मेरे साथ (जैसे https://www.abc.com/login.html)

एक लॉगिन यूआरएल मिल गया है

जो मैं प्राप्त करने का प्रयास कर रहा हूं वह एक कुकी सेट करके वेब दृश्य में ऑटो लॉगिन है।

CookieSyncManager.createInstance(webView.getContext()); 
CookieManager cookieManager = CookieManager.getInstance(); 
CookieManager.getInstance().setAcceptCookie(true); 

String token = PreferenceHelper.loadTokenFromPreference(this); 

String sessionCookie = "staging=" + token; 

cookieManager.setCookie("https://www.abc.com/aaa/", 
    sessionCookie); 
CookieSyncManager.getInstance().sync(); 

SystemClock.sleep(1000); 

लेकिन फिर भी मैं ऑटो लॉगिन करने में सक्षम नहीं हूं। बल्कि मैं सफेद पृष्ठ देख रहा हूं।

मुझे अब यकीन नहीं है कि मैं वास्तव में कहां गलती कर रहा हूं।

cookieManager.setCookie को पहली बार एक यूआरएल के रूप में तर्क की आवश्यकता है जिसके लिए कुकी को सेट करने की आवश्यकता है, मुझे यकीन नहीं है कि मुझे यह कौन सा यूआरएल देना है?

क्या कोई मुझे काम करने के लिए सही दृष्टिकोण सुझा सकता है?

धन्यवाद

+0

यह अजीब बात है कि आप कुकी सामग्री जानते हैं लेकिन डोमेन नहीं। क्या यह आपकी वेबसाइट है? यदि नहीं, तो कुकी सामग्री को कैसे पता चला? – Simas

+0

@ user3249477 मैं एक डोमेन भी स्थापित कर रहा हूं। लेकिन फिर भी मुझे एक खाली पृष्ठ मिल रहा है। –

उत्तर

0

ठीक है थोड़ी देर के लिए खोज करने के बाद मुझे अंत में समाधान मिला।

मुझे इसे काम करने के लिए निम्नलिखित पंक्तियां जोड़नी पड़ीं।

webView.getSettings().setAppCachePath(appCachePath); 
webView.getSettings().setAppCacheEnabled(true); 
+1

"ऐप कैशपैथ" कहां है? –

7

आप WebView की loadUrl समारोह में HttpHeader के रूप में कुकी पारित कर सकते हैं।

HashMap<String, String> map = new HashMap<String, String>(); 
String token = PreferenceHelper.loadTokenFromPreference(this); 
String sessionCookie = "staging=" + token; 
map.put("Cookie", sessionCookie); 
webView.loadUrl(url, map); 
+0

वरीयता हैल्पर क्या है? @ अभिषेक वी –

संबंधित मुद्दे