如何在swift中调用http接口

 我来答
敏敏的自媒体
2016-09-05 · 知道合伙人互联网行家
敏敏的自媒体
知道合伙人互联网行家
采纳数:16780 获赞数:25042
世赫工业核心工程师

向TA提问 私信TA
展开全部
先下载swifthttp,然后将他的xcodeproj的文件拖到项目中。然后选择项目。选择general下面的embedded binaries增加swifthttp.frameworkios。
然后就可以了。说明这个swifthttp已经此用到项目中了。
然后我们使用就可以了。但是在使用的地方,需要引用一下。
 @IBAction func httppost(sender: AnyObject) {

do {
let opt =tryHTTP.GET("http://115.29.190.170:7777/WebService1.asmx/GetCar_Type_List?password=。。。。。")
opt.start { response in
if let err = response.error {
print("error: \(err.localizedDescription)")
return
}
print("获取到数据: \(response.description)")
}
} catch let error {
print("请求失败: \(error)")
}

}
在使用前使用:import SwiftHTTP
这时就可以了。但是ios9可能加了一些安全认证的东西。会出现错误提示:
The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
大概的意思就是http不能用。要使用https,所以我们还需要对系统设置一下。网上说的是:

在Info.plist中添加NSAppTransportSecurity类型Dictionary。
在NSAppTransportSecurity
下添加NSAllowsArbitraryLoads类型Boolean,值设为YES

而我测试的。好象不行。查了一些资料,显示的是在项目里面。也就是:
XCODE,点project图标,在info选项卡里再加一遍,不是直接修改plist文件,而是在info选项卡(就是general、build setting...那个地方)里再增加一遍就好了!
增加之后。显示的不太一样,我的系统显示的是:
App Transport Security Settings 类型Dictionary。
在他下面子项:Allow Arbitrary Loads 类型是:boolean,yes
这时系统就可以取到数据了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式