swift 3 发送 HTTP 请求函数
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 请求函数的更多相关文章
- C++发送HTTP请求---亲测可行(转)
转自:http://hi.baidu.com/benbearlove/item/1671c23017575825b3c0c53f 环境:xp sp3,vs2008,在静态库中使用 MFC #inclu ...
- 发送curl请求的函数
//发送curl请求的函数function curl_request($url, $post = false, $data=array(), $https = false){ //使用curl_ini ...
- pythone函数基础(13)发送网络请求
需要导入urllib模块,request模块发送网络请求有两种方法 第一种方法# from urllib.request import urlopen# from urllib.parse impor ...
- 在发送ajax请求时加时间戳或者随机数去除js缓存
在发送ajax请求的时候,为了保证每次的都与服务器交互,就要传递一个参数每次都不一样,这里就用了时间戳 大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的 ...
- 怎样防止重复发送 Ajax 请求?
著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:长天之云链接:http://www.zhihu.com/question/19805411/answer/15465427来源 ...
- 转:jquery向普通aspx页面发送ajax请求
本文将介绍在ASP.NET中如何方便使用Ajax,第一种当然是使用jQuery的ajax,功能强大而且操作简单方便,第二种是使用.NET封装好的ScriptManager. $.ajax向普通页面发送 ...
- jQuery发送ajax请求
利用jquery发送ajax请求的几个模板代码. $.ajax({ async : false, type: 'POST', dataType : "json", url: &qu ...
- PHP模拟发送POST请求之五curl基本使用和多线程优化
今天来介绍PHP模拟发送POST请求的重型武器——cURL函数库的使用和其多线程的优化方法. 说起cURL函数,可谓是老生常谈,但网上许多资料都在关键部分语焉不详,列出一大堆手册上的东西,搞得我入门时 ...
- PHP模拟发送POST请求之四、加强file_get_contents()发送POST请求
使用了笨重fsockopen()方法后,我们开始在PHP函数库里寻找更简单的方式来进行POST请求,这时,我们发现了PHP的文件函数也具有与远程URL交互的功能. 最简单的是fopen()和fread ...
随机推荐
- 20145327 《Java程序设计》第五周学习总结
20145327 <Java程序设计>第五周学习总结 教材学习内容总结 try...catch:与C语言中程序流程和错误处理混在一起不同,Java中把正常流程放try块中,错误(异常)处理 ...
- LeetCode (226):Invert Binary Tree 递归实现
Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 Trivia:This problem was ...
- mysql参数及解释
key_buffer_size:(global.Dynamic)#*** MyISAM 特有的选项.即使你不使用 MyISAM 表,你仍应该将它设置为 8-64M,因为它也被用于内部的临时磁盘表.这个 ...
- 【TensorFlow/简单网络】MNIST数据集-softmax、全连接神经网络,卷积神经网络模型
初学tensorflow,参考了以下几篇博客: soft模型 tensorflow构建全连接神经网络 tensorflow构建卷积神经网络 tensorflow构建卷积神经网络 tensorflow构 ...
- Location对象常用知识
产品终于上线,后期主要是优化了.在开发过程中用到了很多location对象的知识,趁现在有时间先整理一下. Location 对象存储在 Window 对象的 Location 属性中,可通过wind ...
- spark sql 窗口函数over partition by
1.窗口函数需要使用hiveContext,故引入如下包 libraryDependencies += "org.apache.spark" %% "spark-core ...
- [Vue]Vue语法糖v-bind、v-on
语法糖 :是指在不影响功能的情况下,添加某种方法实现同样的效果,从而方便程序开发,简化代码是书写. Vue.js的v-bind和v-on指令都提供了语法糖,也可以说是缩写. 1.v-bind可以省略, ...
- [java]BoneCP 参数详解
BoneCP 参数详解: ======================================== 一.BoneCP配置文件格式(bonecp-config.xml): xml versio ...
- 第五天 Linux基本命令
tty控制台终端 tty1~tty6? ctrl + alt + F2~F6 切换控制台 alt + F1 返回 但是使用 在图形化界面,使用init 3后,不能使用alt + F1返回,因为两者 ...
- poj-3046-dp
Ant Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6829 Accepted: 2514 Desc ...