2010-08-24 209 views
5

我在HTML/JavaScript代碼執行一個獨立的瀏覽器Safari的精細的應用程序,但是當Ajax調用的PhoneGap的執行,他們都無法與網絡錯誤101PhoneGap是否支持HTTPS ajax請求?

我請求XML文檔

+1

AFAIK PhoneGap可以支持HTTPS請求,但許多人遇到了自簽名證書的問題。 PhoneGap是iPhone還是Android? – irishbuzz 2010-08-24 21:25:34

回答

6

是的。

但是,它並沒有正常處理HTTPS協議的證書錯誤。最後我寫我自己的代碼,以建立與服務器的初始連接,並忽略證書錯誤

這裏是代碼 http://blog.clearlyinnovative.com/post/1012434483/phonegap-and-iphone-development

+1

這是否仍然存在?它的404的 – 2015-02-04 13:18:07

+0

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。鏈接的答案可能會失效,如果鏈接的頁面發生變化 – John 2015-06-04 11:21:21

1

的PhoneGap不支持HTTPS Ajax請求,但像阿龍提到它不妥善處理證書錯誤。就我而言,我們在我們的生產環境中擁有有效的證書;但對於我們的開發環境中,我們推翻的NSURL方法之一:

@implementation NSURLRequest (IgnoreSSL) 

+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host 
{ 
    return YES; 
} 

@end 

這已經與PhoneGap的1.7(1.9)測試,效果不錯。你可以把這段代碼放到你的MainViewController.m中。

請注意,我只推薦此代碼用於開發環境。這很有可能不會被應用商店所接受;因爲我們正在壓倒一個私人API。只需在生產中使用有效的證書。

+0

它不適用於Cordova 1.5和Xcode 4(從不會調用allowedAnyHTTPSCertificateForHost方法) – 2012-11-15 13:42:13

+0

我仍然在我的環境中使用此代碼(請注意,我正在運行Cordove 1.9現在)。所以有可能這與Cordova 1.5不兼容;但從快速瀏覽蘋果討論板;這已經支持了相當長的一段時間。只要確保你把它放在你的「@implementation MainViewController」上面。 – Aki 2012-11-15 16:29:33