Ios NSURLSession尝试通过HTTPS访问本地服务器

Ios NSURLSession尝试通过HTTPS访问本地服务器,ios,cocoa-touch,nsurlsession,Ios,Cocoa Touch,Nsurlsession,我正在开发一个ios应用程序,通过使用NSURLSession dataTaskWithRequest方法向示例url发出POST请求,向服务器发出请求 在调试过程中,它错误地打开了本地服务器上的https重定向。当然,这不起作用,但我的应用程序当时试图发出一些请求 现在,我删除了本地服务器设置上的https重定向,但我的应用程序在尝试连接到示例url时仍然失败,出现错误 kCFStreamErrorDomainSSL, -9806 在服务器端django上,我得到如下结果: ERROR [d

我正在开发一个ios应用程序,通过使用NSURLSession dataTaskWithRequest方法向示例url发出POST请求,向服务器发出请求

在调试过程中,它错误地打开了本地服务器上的https重定向。当然,这不起作用,但我的应用程序当时试图发出一些请求

现在,我删除了本地服务器设置上的https重定向,但我的应用程序在尝试连接到示例url时仍然失败,出现错误

kCFStreamErrorDomainSSL, -9806
在服务器端django上,我得到如下结果:

ERROR [django.server:basehttp:114] You're accessing the development server over HTTPS, but it only supports HTTP.
如果我将url更改为example_url_2,并保持所有其他内容不变,将example_url_2重定向到服务器上的同一个函数调用,那么事情会再次发生

对我来说,NSURLSession似乎缓存了它希望此url安全的某个地方,我想知道如何重置此url。

您可以尝试使用

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
configuration.requestCachePolicy = NSURLRequestReloadIgnoringLocalCacheData;
并将session对象与[NSURLSession sessionWithConfiguration:configuration]一起使用


使用该会话对象使用dataTask

您可以添加您尝试的代码吗?您是否添加了info.plist?NSAppTransportSecurity NSAllowsArbitraryLoads是。在这种情况下,Aravind下面的答案是正确的。非常好,谢谢!但是,我不得不为此禁用缓存,这有点令人伤心。我想知道是否会有一种更细粒度的方法来实现这一点?您可以使用这种方法,一旦缓存被清除,您可以在需要时对此进行注释:是的,但我更关心的是,如果生产服务器上发生错误,并且用户由于这种缓存而出错,该怎么办。另外,您知道缓存实际何时被清除吗?仔细想想,对我来说,这样的错误可能是由过时的缓存造成的,这听起来像是一个bug。