HTTP访问不正常

如题所述

HTTP不能正常访问是多方面的原因,有多种情况可以导致HTTP不能够正常访问,下面来给大家说一种我说见到的HTTP不能够正常访问的解决办法中的iOS9 & iOS10 的http不能够正常访问的解决办法:

首先,在编译网络阶段,由于新特性要求不同,这样的情况下可能会导致App内访问的网络必须使用HTTPS协议。虽然现在很多项目使用的是HTTP协议,使用私有加密方式保证数据安全。但是,现在也不能马上改成HTTPS协议传输。

那么,此类型解决办法可以通过以下步骤来实现(添加图片详细解说):

1、在Info.plist中添加NSAppTransportSecurity类型Dictionary。即为在Filter中搜索Info.plist,选择Info.plist进行编辑,如下图所示

2、在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES。

按照上面提到的方式添加信息,正确的修改会看到下图这个样子,注意类型NSAppTransportSecurity为Dictionary,NSAllowsArbitraryLoads为Boolean,复制粘贴的时候,不要多了空格,segment fault 页面上直接复制,经常会多一个出空格!

3、特别注意,单元测试下面也有一个Info.plist,修改那个文件是没有作用的!

需要大家注意的是:上面介绍的这种解决方法,虽然解决了网络访问的问题,但是苹果提供的安全保障也被关闭了。不过,按照国内的现状,关闭这个限制也许是更实际的做法。至于原因就太多了,第三方SDK(几乎都是访问HTTP),合作伙伴接入(不能要求它们一定要支持HTTPS)。如果你的App没有受到这些原因的限制,还是更建议你增加HTTPS支持,而不是关闭限制。请大家根据项目的实际情况作调整。

最后,出于安全考虑我们提倡使用HTTPS,退而求其次,优先考虑使用例外,将允许访问的域加入到配置列表中,对于实在不支持HTTPS的应该首先考虑添加例外。下面来给大家讲一下添加例外的方式。

左键Info.plist选择open with source code  ,然后添加类似如下的配置:

根据自己需要的域名修改, NSIncludeSubdomains 顾名思义是包括子域的意思。

通过以上操作,基本就可以解决iOS9 & iOS10 的 http 不能够正常访问的问题。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-21
什么网追问

这是什么意思

给个答案

追答

具体点

追问

我的电脑连不上网络,1.
浏览器力网页域名解析不正常2 HTTP访问不正常3 .上网连接不正常

追答

接路由器的吗?

追问

是接路由器的吗?

手机可以连接

是的

追答

去了路由器,直接用主线插到电脑用宽带连接上看如何?

电脑的网卡指示灯亮吗?

追问

亮啊

还在吗?

追答

先排除路由器和电脑的连接线

你发的图我看不到

你发的图我看不到

追问

我试过了,没用

追答

电脑分区表 系统的问题

在太原吗?

追问

不是

好像是驱动精灵的问题,可我又下了一个驱动精灵,还是没用

追答

用浏览器打开路由器地址看能打开路由器的登陆界面吗?

设备管理器有网络适配器吗?

追问

追答

能把路由器断了电再通电试连,不行就是电脑问题

追问

没用

追答

装电脑软件吧

追问

什么软件

我可以试试

追答

分区装系统

没做过就做不了

追问

不懂

细节

追答

找个修电脑的吧

追问

呵呵

好吧

追答

你会cmos设置吗光驱启动吗?会才可以装

相似回答