iOS-swift Alamofire网络请求框的使用

本文介绍了如何在iOS Swift应用中使用Alamofire进行网络请求,包括GET和POST请求,带有参数和Basic Auth授权的访问,上传图片和视频,以及断点下载的实现步骤。
摘要由CSDN通过智能技术生成

get请求

//获取当前时间
let now = Date()
//当前时间的时间戳
let timeInterval:TimeInterval = now.timeIntervalSince1970
let timeStamp = String(timeInterval)
let url = URL(string: "http://47.92.107.28:8000/static/banner.f?_=\(timeStamp)")!
//发起请求,返回Json数据格式的数据
Alamofire.request(url,method: .get,parameters: nil,encoding: URLEncoding.default,headers:nil).responseJSON { response
            in
            switch response.result.isSuccess {
            case true:
                if let value = response.result.value{
                    self.imgageData = []
                    //获取返回的值,转为json对象
                    let img_json = JSON(value)
                    //json转字符串
                    let json_str = img_json.rawString()
                    let zhu_url = "http://47.92.107.28:8000"
                    //遍历json数据
                    for(key,item) in img_json["imgs"] {
                        //print("src的值:\(item["src"])")
                        //如果取得的 src 的值为 String类型的话就添加到数组中
                        if let img_url = item["src"].string{
                            //将图片路径添加到数组中
                            self.imgageData.append(zhu_url+img_url)
                        }
                    }
                    //将数组转为字符串
                    let str = self.imgageData.joined()
                    //print("请求到返回的数据\(json_str)")                  
                }
            case false:
                print(response.result.error)
                UIAlertController.showAlert(message: "网络连接失败")
            }
        }

Get请求、有参数、使用Basic Auth授权访问(例如:jira)

var header:HTTPHeaders = [:]
        if let authorizationHeader = Request.authorizationHeader(user: "xxxx", password: "xxxxxx") {
            header[authorizationHeader.key] = authorizationHeader.value
        }
        // 此处的 URLEncoding.default (URLEncoding.queryString )会将parameters 拼接到url后面
        Alamofire.request("https://httpbin.org/get", method: HTTPMethod.get, parameters: ["key":"value"], encoding: URLEncoding.default, headers: header).responseJSON { (response) in
            if(response.error == nil){
                LLog("请求成功")
                LLog(response.result.value)
            }else{
                LLog("请求失败\(String(describing: response.error))")
            }

        }

POST请求

Alamofire.request("https://httpbin.org/post", method: .post, parameters: ["key1":"value1","key2":"value2"], encoding: URLEncoding.default, headers: nil).responseJSON { (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值