我尝试通过POST请求访问在Amazon EC2中的实例上运行的Python CGI脚本,但即使我已将Info.plist文件更改为允许任意加载,但它显示:
我在这里发出了POST请求:
let manager = AFHTTPRequestOperationManager()
let URL = "http://ec2-XX-XX.compute-1.amazonaws.com/cgi-bin/hellopy2.py"
let params = ["userToken": "XXXXXXXXXXX"]
manager.POST(URL, parameters: params, success: { (operation, responseObject) -> Void in
这是我的info.plist文件:
答案 0 :(得分:1)
确保您拥有正确的Info.plist文件
首先,确保您放置这些设置的Info.plist是您的项目正在使用的那个。您可以通过进入项目设置并搜索Info.plist来验证这一点。确保您设置这些值的Info.plist文件是您正在构建的构建目标的文件。
如果您将项目构建为IPA,您也可以在事后验证。解压缩IPA,在解压缩的文件夹中,您应该看到Info.plist文件。验证您的ATS设置是否在该文件中,以确保正在运行的应用程序应使用这些例外。
获取设置正确/一致
一旦您验证了这一点,就应该清理您的设置。您可以使用全局标志来允许任何不安全的流量。这将适用于现在,但在2016年底之后,您无法向商店提交,无需向Apple提供理由并面临可能的拒绝。我建议不要在此时使用它,除非这是一个不能通过应用程序商店(例如企业应用程序)分发的应用程序。如果您确实选择使用此标志,请删除异常域,因为它们是不必要的(您基本上说所有域都是例外并允许http)。
如果你想要正确地做到这一点,只允许与amazonaws进行不安全的连接,你的设置应该是这样的:
如果您有这些设置,并且您的Info.plist配置正确,您应该能够访问任何没有https的amazonaws.com子域。
答案 1 :(得分:-1)
“http://”不是域名的一部分。
从Info.plist文件中的域名中删除“http://”。
*您无需将全局“允许任意载入”键设置为“是”即可使用。