在Python中,我们可以验证这样的请求
session = requests.session()
session.auth = ("xxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxx")
r = session.get('https://example.com/api/v1/method').json()
我们怎样才能快速做到这一点?有一个内置的类吗?
最佳答案
这是一种常见的授权功能,称为基本访问身份验证
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization https://en.wikipedia.org/wiki/Basic_access_authentication
它是这样工作的。 您在请求 header 中附加 base64 编码的字符串作为值“Authorization”。该字符串具有以下格式:
所以,对于 swift 4 你必须使用这种方式:
let username = "user"
let password = "pass"
let loginString = String(format: "%@:%@", username, password)
let loginData = loginString.data(using: .utf8)!
let base64LoginString = loginData.base64EncodedString()
var request = URLRequest(url: url)
request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")
详细示例在这里
关于Swift 相当于 Python requests.session()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47971815/