gpt4 book ai didi

ios - 我有一个 Objective-C iPad 应用程序,该应用程序发出如下失败的 Web 服务调用 :

转载 作者:太空宇宙 更新时间:2023-11-03 14:46:07 24 4
gpt4 key购买 nike

我有一个 Objective-C iPad 应用程序,该应用程序进行了如下失败的网络服务调用:

"CFNetwork SSLHandshake failed (-9824)"
"NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824)"

以下代码进行调用:

responseData = [NSMutableData data];
NSURL *loginurl = @"https://domain.com/4dAction/servicename/";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:loginurl];
NSString *params = [[NSString alloc] initWithFormat:@"user=%@&pass=%@",username.text,password.text];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];

经过一些研究,解决方案似乎是将一些异常放入“info.plist”中,这导致错误消息略有不同,但它仍然不起作用,以下是我添加到“info.plist”中的部分。 plist':

<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>domain.com</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSTemporaryExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
</dict>

此调用现在因错误而失败(现在没有像以前那样出现“CFNetwork SSLHandshake 失败”错误):

"NSURLSession/NSURLConnection HTTP Load failed (kCFStreamErrorDomainSSL, -9802)" 

自上次运行以来发生的变化如下:

  • iOS 升级到版本 9
  • Web 服务器从在 MAC 上运行的 4D 迁移到在 Windows 上运行的 4D。
  • 域名已更改并颁发了新证书。

基本上,我正在寻找一种方法来使 Web 服务调用无错误地工作。

最佳答案

现在,我认为您必须将 `NSExceptionAllowsInsecureHTTPLoads=true 添加到异常中。请参阅以下位置的讨论:

https://forums.developer.apple.com/thread/13472

但真正的解决方法是更新服务器或更改其配置以使用现代密码套件。这与证书无关。在 TLS 握手期间,您的网络服务器告诉 iOS 它只接受一堆旧的、不太安全的加密方案(密码套件)。

修复此问题可能就像更改配置文件一样简单,或者可能涉及更新网络服务器软件(或可能两者)。

关于ios - 我有一个 Objective-C iPad 应用程序,该应用程序发出如下失败的 Web 服务调用 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38863076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com