iphone上的HTTPS请求未发送到服务器
Posted
技术标签:
【中文标题】iphone上的HTTPS请求未发送到服务器【英文标题】:HTTPS request on iphone not sent to server 【发布时间】:2013-06-16 13:21:51 【问题描述】:我正在使用 phonegap 为 iphone 开发应用程序。 使用 HTTP 提交 ajax 请求时,一切正常。但是当我切换到 HTTPS 时,请求不会发送到服务器。相同的代码适用于 android 上的 HTTP 和 HTTPS。
以下是我正在使用的代码,提前感谢您的帮助
var xmlRequest = $.ajax(
url : "https://test.com",
type : 'POST',
contentType : "text; charset=utf-8",
data : sr,
dataType : "text",
headers : SOAPAction : '"'+soapaction+ '"' ,
success : function( data, textStatus, jqXHR )
console.log("----- xmlRequest.responseText: " + xmlRequest.responseText);
SOAPClient._onSendSoapRequest(method, async, callback, sch, data);
,
error : function( jqXHR, textStatus, errorThrown )
console.log("----- xmlRequest.responseText: " + xmlRequest.responseText);
console.log("----- errorThrown = " + errorThrown + " textStatus = "+ textStatus );
ServiceErrorMessage(method, jqXHR.status, errorThrown, xmlRequest.responseText);
,
cache: false
);
【问题讨论】:
【参考方案1】:将此添加到 AppDelegate.m 文件的末尾
@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
return YES;
@end
【讨论】:
这是否违反了 ios 准则?这是私有 API 吗?以上是关于iphone上的HTTPS请求未发送到服务器的主要内容,如果未能解决你的问题,请参考以下文章
数据未从 iphone 传输到真实设备上的 iWatch (AppleWatch)