swift Playground上的Swift 3.0 HTTP基本身份验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift Playground上的Swift 3.0 HTTP基本身份验证相关的知识,希望对你有一定的参考价值。

import Foundation
import PlaygroundSupport

PlaygroundPage.current.needsIndefiniteExecution = true

func authenticate () {
    
    //Credentials
    let username = "USERNAME"
    let password = "PASSWORD"
    let loginString = "\(username):\(password)"
    let loginData = loginString.data(using: String.Encoding.utf8)!
    let base64LoginString = loginData.base64EncodedString()
    
    //Request
    let url = URL(string: "https://api.github.com")!
    var request = URLRequest(url: url)
    request.httpMethod = "GET"
    request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")
    
    //Fix "Failed to obtain sandbox extension"
    URLCache.shared = URLCache(memoryCapacity: 0, diskCapacity: 0, diskPath: nil)
    
    //Setup Session
    let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
        guard let responseData = data,
            error == nil,
            let jsonObject = try? JSONSerialization.jsonObject(with: responseData, options: []) else {
            print("Error")
            return
        }
        
        if let json = jsonObject as? [String : Any] {
            print(json)
        }
        
        PlaygroundPage.current.finishExecution()
    }
    
    task.resume()
}

authenticate()

以上是关于swift Playground上的Swift 3.0 HTTP基本身份验证的主要内容,如果未能解决你的问题,请参考以下文章

在 Playground 的“SupportCode.swift”中导入第 3 方框架

Swift 3 Playground 以本地格式记录日期。如何?

在 Playground 中的 swift 3 中添加延迟似乎不准确

如何使用 Swift 3 Playground 读取 Resources 目录中的文本文件?

(Swift Playground 模板)使用 Swift 5.1 编译的模块不能被 Swift 5.1.3 编译器导入

如果我没有 iPad,如何在 Mac 上使用 AR 测试 swift-playground?