private func HttpPost(requestURL:String, postString:String) -> [String : AnyObject]
{
return HttpSync(requestURL: requestURL, postString: postString, method: "POST");
}
private func HttpGet(requestURL:String)->[String : AnyObject]{
return HttpSync(requestURL: requestURL, postString: "", method: "GET");
}
private func HttpSync(requestURL:String, postString:String, method:String)->[String : AnyObject]{
var request = URLRequest(url: URL(string:requestURL)!)
request.setValue("application/x-www-form-urlencoded; charset=utf-8", forHTTPHeaderField: "Content-Type")
request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Accept")
if(HttpMeta.Token != ""){
request.setValue("BEARER " + HttpMeta.Token,forHTTPHeaderField: "Authorization");
}
request.httpMethod = method
request.httpBody = postString.data(using: String.Encoding.utf8);
// print(request.debugDescription)
var result:[String:AnyObject] = [:];
let semaphore = DispatchSemaphore(value:0)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else {
//print(error ?? <#default value#>)
return
}
do {
print(data.debugDescription)
print(response.debugDescription)
let responseObject = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments)
result = (responseObject as? [String : AnyObject])!;
print(result)
// print(responseObject)
} catch let jsonError {
print(jsonError.localizedDescription)
// print("json error: \(jsonError.localizedDescription)")
}
semaphore.signal()
}
task.resume()
_ = semaphore.wait(timeout: .distantFuture)
return result
}swift 3 发送 HTTP 请求函数
最新推荐文章于 2024-08-10 07:38:21 发布
本文介绍了一个使用Swift语言实现的网络请求方法,包括GET和POST两种请求方式。通过自定义函数进行HTTP请求,并设置请求头、参数及响应处理,适用于iOS和其他Swift支持的平台。
468

被折叠的 条评论
为什么被折叠?



