gpt4 book ai didi

ios - NSURLConnection/CFURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9843)

转载 作者:行者123 更新时间:2023-11-29 10:36:22 26 4
gpt4 key购买 nike

我现在正在测试环境中试用我的应用程序,该应用程序具有在 web View 中打开 URL 的功能,但现在测试时,生产数据库中的文件 URL 来自亚马逊并具有以下格式:

self.url = @"https://media.akdemia.com.s3.amazonaws.com/production//uploads/report_notification/report/3827/Corte_de_Notas_de-QUINTO_A_O_DE_CIENCIAS_A.pdf?AWSAccessKeyId=AKIAI2R6DMWPFKJPDVWQ&Signature=wwq2kCTVsOlA/Sc/xIT108XF8/0%3D&Expires=1447112397" 

我无法通过以下方式打开它:

NSURL *myUrl = [NSURL URLWithString:self.url];
NSURLRequest *myRequest = [NSURLRequest requestWithURL:myUrl];

[self.webView loadRequest:myRequest];

不是一个常见的 url 并且控制台打印此错误:

NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9843)

额外信息

在我的应用程序中,我有一个报告列表,当它向 API 请求每个报告的 URL 时,它会生成一个 URL 列表。

如果我请求来自控制台的 URL 为每个 URL 生成相同的 URL 但不同的 Expires 数字并且所有这些 URL 都正常工作,而如果我打印 API 为应用返回的 JSON,我可以看到所有 URL (无论属于哪个报告)都具有相同的 Expires 编号。我不知道这是否会影响 URL 然后它不起作用。

最佳答案

我解决了这个问题,我使用 Ruby on Rails 实现 API,并且我在 Gemfile 上将 fog 和 carrierwave gem 版本更改为 1.9.0 和 0.10.0(您必须运行 bundle install 才能更新)。

使用相同的 fog_credentials

config.fog_credentials = {
:provider => 'AWS', # required
:aws_access_key_id => 'AKIAI2R6DMWPFKJPDVWQ', # required
:aws_secret_access_key => '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', # required
}
config.fog_directory = 'media.akdemia.com' # required
config.fog_public = false
config.cache_dir = "#{Rails.root}/tmp/uploads"
config.fog_authenticated_url_expiration = 1.year
config.storage = :fog

然后 API 会正确生成 URL https://s3.amazonaws.com/media.akdemia.com/production/ .... 而不是 https://media.akdemia.com.s3.amazonaws.com/production/ ....

谢谢@Kampai 和@pbasdf,你们帮助找到了解决方案

关于ios - NSURLConnection/CFURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9843),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26835015/

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