要在iOS中发出http请求,我们将使用DataTask和会话。我们将创建配置,会话,URL,请求和dataTask对象。让我们看看我们将要执行的步骤。
首先我们需要创建一个会话对象,这是默认配置。
let configuration = URLSessionConfiguration.default let session = URLSession(configuration: configuration)
然后,我们需要创建所需类型的URL请求,可以将其获取,发布,删除或放置。在此示例中,我们看到的是“ POST”类型。
let url = URL(string: URLString) //让url = NSURL(string:urlString as String) var request : URLRequest = URLRequest(url: url!) request.httpMethod = "POST" request.addValue("application/json", forHTTPHeaderField: "Content-Type") request.addValue("application/json", forHTTPHeaderField: "Accept")
创建请求对象后,我们需要使用上面刚刚创建的URL执行dataTask。这就是我们完整的dataTask方法现在的样子。
let dataTask = session.dataTask(with: url!) { data,response,error in guard let httpResponse = response as? HTTPURLResponse, let receivedData = data else { print("error: not a valid http response") return } switch (httpResponse.statusCode) { case 200: //成功的回应。 break case 400: break default: break } } dataTask.resume()
现在,我们可以将其嵌入到函数中并在我们的代码中使用。
func hitAPI(_for URLString:String) { let configuration = URLSessionConfiguration.default let session = URLSession(configuration: configuration) let url = URL(string: URLString) //让url = NSURL(string:urlString as String) var request : URLRequest = URLRequest(url: url!) request.httpMethod = "POST" request.addValue("application/json", forHTTPHeaderField: "Content-Type") request.addValue("application/json", forHTTPHeaderField: "Accept") let dataTask = session.dataTask(with: url!) { data,response,error in //1:检查HTTP响应以获取成功的GET请求 guard let httpResponse = response as? HTTPURLResponse, let receivedData = data else { print("error: not a valid http response") return } switch (httpResponse.statusCode) { case 200: //成功的回应。 break case 400: break default: break } } dataTask.resume() }
注意:您可能需要允许info.plist文件中的“传输安全性”异常访问某些API。
此示例未显示任何输出,因为需要API来发布一些数据。
本文向大家介绍如何使用Swift在iOS App上发出HTTP请求?,包括了如何使用Swift在iOS App上发出HTTP请求?的使用技巧和注意事项,需要的朋友参考一下 要在iOS中发出http请求,我们将使用DataTask和会话。我们将创建配置,会话,URL,请求和dataTask对象。让我们看看我们将要执行的步骤。 HTTP请求的类型可以不同,这取决于我们要对服务器发出的请求类型。以下是请
问题内容: 我在iBooks中阅读了Apple的The Programming Language Swift ,但无法弄清楚如何在Swift中发出HTTP请求(例如cURL)。我需要导入Obj- C类还是只需要导入默认库?还是无法基于本机Swift代码发出HTTP请求? 问题答案: 您可以使用,而且还是因为你通常在Objective- C做。请注意,对于iOS 7.0和更高版本,它是首选。 使用
我在iBooks上读过Apple的编程语言Swift,但不知道如何在Swift中发出HTTP请求(类似于cURL)。我需要导入Obj-C类还是只需要导入默认库?或者不可能基于本机Swift代码发出HTTP请求?
我在iBooks中阅读了苹果公司的编程语言Swift,但不知道如何在Swift中发出HTTP请求(类似cURL的东西)。我需要导入Obj-C类还是只需要导入默认库?还是不能基于原生Swift代码进行HTTP请求?
我对斯威夫特还是个新手。我正在尝试制作一个HTTPS POST到HTTPS url的特定头。注意HTTPS而不是HTTP。我如何完成这件事?提前道谢。
问题内容: 我想使用Tor向网页发出多个GET请求。我想为每个请求使用不同的ipaddress。 使用此,我提出了一个请求。如何更改ipaddress来做另一个? 问题答案: 这是您要使用的代码(使用来下载词干包) 祝你好运,希望能成功。