如何在swift中调用http接口
展开全部
先下载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
这时系统就可以取到数据了。
然后就可以了。说明这个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
这时系统就可以取到数据了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询