最近开始做新项目, 决定使用Swift 来做, 几个月前看了一下还是Swift2  现在已经到Swift3 了, 听说改动非常大。 那么直接从3学起吧,希望别出个4又改动非常大!

新做的项目会开始涉及到非常多的方面, 以前我是用object-c的, 所以上手Swift可能会有些不适应。

废话少说, 直接上代码:

import UIKit/// 网络访问基类
class BaseNetwrok: NSObject {/// Post 访问////// - Parameters:///   - url: 服务器链接///   - params: POST参数func post(url:String, params:NSMutableDictionary) {//创建会话对象let session     = URLSession.sharedlet serUrl      = URL(string:url)var request     = URLRequest(url: serUrl!)//设置访问方式为POSTrequest.httpMethod = "POST"//设置POST 内容request.httpBody = getBody(params: params).data(using: String.Encoding.utf8)//开始访问let dataTask : URLSessionDataTask = session.dataTask(with: request) { (data, respones, error)  -> Void  in//访问结束if(error != nil) {//返回出错print(error.debugDescription)} else {//返回成功let str = String(data: data!, encoding: String.Encoding.utf8)print(str ?? "error")}}dataTask.resume()}/// 获取post内容////// - Parameter params: 参数/// - Returns: Bodyfunc getBody(params:NSMutableDictionary) -> String {var body : String = "";for (key, value) in params {let str = "\(key)=\(value)&"body = body + str}if(body.characters.count > 1) {body = (body as NSString).substring(to: body.characters.count-1)}return body}
}

以上是一个非常普通, 非常简单的网络访问。

调用代码:

let md = NSMutableDictionary()

let a = BaseNetwrok ()

a.post(url: "http://www.baidu.com", params: md)

待后续会上传更复杂的访问方式。

Swift3 1.简单的网络请求(POST)相关推荐

  1. Xamarin.Android之封装个简单的网络请求类

    http://doc.okbase.net/catcher1994/archive/220195.html Catcher8 2016/4/23 0:28:50 阅读(72) 评论(0) 一.前言 回 ...

  2. 模仿Retrofit封装一个使用更简单的网络请求框架

    本文已授权微信公众号:郭霖  在微信公众号平台原创首发.会用Retrofit了?你也能自己动手写一个! 前言 想封装一套网络请求,不想直接上来就用别人写好的,或者说对项目可以更好的掌控,所以自己模仿着 ...

  3. swift3 多个异步网络请求转同步

    场景 在开发过程中很常见的一个场景是一个页面需要调用两个异步的网络请求,需要等两个请求都返回以后再组合数据并刷新UI, 流程如下: graph TDA[client] --> B(Request ...

  4. 超简单-用协程简化你的网络请求吧,兼容你的老项目和旧的网络请求方式

    前言 在Kotlin协程(后简称协程)出来之后,颠覆了我们很多工具类的封装方式,大大简化了我们很多api的调用,并且使异步操作逻辑更清晰了 其中一个很标志性的地方就属网络请求了,以前的网络请求方式声明 ...

  5. HttpInterceptor 拦截器 - 网络请求超时与重试的简单实现

    ... 拦截器在Angular项目中其实有着十分重要的地位,拦截器可以统一对 HTTP 请求进行拦截处理,我们可以在每个请求体或者响应后对应的流添加一系列动作或者处理数据,再返回给使用者调用. 每个 ...

  6. Android 网络请求详解

    我们知道大多数的 Android 应用程序都是通过和服务器进行交互来获取数据的.如果使用 HTTP 协议来发送和接收网络数据,就免不了使用 HttpURLConnection 和 HttpClient ...

  7. Anroid-async-http封装网络请求框架源码分析

    Android-async-http开源项目可以是我们轻松的获取网络数据或者向服务器发送数据,使用起来非常简单, 这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库, ...

  8. Jest中Mock网络请求

    Jest中Mock网络请求 最近需要将一个比较老的库修改为TS并进行单元测试,修改为TS还能会一点,单元测试纯粹是现学现卖了,初学Jest框架,觉得在单元测试中比较麻烦的就是测试网络请求,所以记录一下 ...

  9. Flutter网络请求Dio库的使用及封装

    Dart语言内置的HttpClient实现了基本的网络请求相关的操作.但HttpClient本身功能较弱,很多网络请求常用功能都不支持,因此在实际项目中,我们更多是使用dio库实现网络请求. 注:Fl ...

最新文章

  1. 这就是华为速度:2.69分钟完成BERT训练!新发CANN 5.0加持,还公开了背后技术
  2. 使用jsp实现word、excel格式报表打印-JSP教程,Jsp/Servlet
  3. 设计模式(4)建造者模式/生成器模式(Builder)
  4. Highcharts 中文参考文档
  5. Python编程专属骚技巧1
  6. Kanboard简单的可视化任务板,项目管理
  7. Angular应用启动时创建的injection token一览
  8. okHttp记录---response.body().string()输出的结构是乱码
  9. 进程相关概念与多线程的基本使用
  10. java敏感词过滤算法
  11. 通达信l2高级行情服务器地址配置文件,疯赢版通达信更好用——开通level2行情,添加龙虎榜数据...
  12. 5G:智能座舱的分水岭,蔚来小鹏们的翻身战
  13. 题解 P2184 【贪婪大陆】
  14. 电池电压值转换为百分比
  15. android+路由器+名称,路由器默认wifi名称是什么?
  16. JimuReport积木报表打印多出一页空白页问题(解决方案)
  17. linux下qt使用谷歌拼音,GitHub - aron566/google_pinyinim: 谷歌拼音输入法移植至QT,纯widget实现...
  18. SOA(面向服务的架构)
  19. 计算机管理内默认共享,善用“默认共享”便于管理。解决“这个共享是为管理而创建的。服务器服务停止并重新启动后或计算机重新...
  20. PHP跨境电商商城系统源码支持多语言功能

热门文章

  1. css元素转换(旋转函数、rotateX 和 rotateY 的使用、移动函数、缩放函数、过渡、动画)详解
  2. GitLab服务器IP地址设置
  3. 利盟Lexmark Prevail Pro708 一体机驱动
  4. 解决angularjs图片加载失败
  5. 为什么调用glPushMatrix()和glPopMatrix()
  6. 【ArcGIS二次开发】Engine界面搭建
  7. 今年快30岁的我,还是选择了裸辞···
  8. 计算机网络----什么是流量控制
  9. Item 24: Distinguish universal references from rvalue references
  10. Camera 涉及的文件