我陷入了用户身份验证;我想通过用户名和密码对用户进行身份验证。
我确实通过websocket成功连接,但我不知道如何验证用户身份,我尝试通过Google进行大量研究,但由于完成的工作量较少,我仍然无法实现我的目标。
我想通过JSON请求的服务器API:
import io
import zipfile
import gzip
hexdata = "5a69702054657374"
def zip_it(filename, depth):
zip_buffer = io.BytesIO()
for i in range(0, depth):
with zipfile.ZipFile(zip_buffer, "a", zipfile.ZIP_DEFLATED, False) as zip_file:
zip_file.writestr(filename + str(i), bytes.fromhex(hexdata).decode("utf-8"))
with open(filename + ".zip", "wb") as f:
f.write(zip_buffer.getvalue())
if __name__ == '__main__':
zip_it("testfile", 3)
并且在请求后服务器响应也是JSON的人可以帮我实现这一点。我非常感谢。
基本上,我是Swift 4中的 WebSocket 中的新手,这就是为什么我遇到很多问题的原因,因为我只使用了Starcream的可可豆。
谢谢。
答案 0 :(得分:0)
以下是使用Starscream进行基本身份验证的示例:
//Prepare autorization data
let authString: String = "\(userName):\(password)"
let base64String = authString.data(using: String.Encoding.utf8)!.base64EncodedString()
// Prepare request and set headears for Basic Authorization
var request = URLRequest(url: URL(string: SERVER_URL)!)
request.setValue("Basic \(base64String)", forHTTPHeaderField: "Authorization")
//Initiate websocket
socket = WebSocket(request: request)
socket?.advancedDelegate = self
socket?.connect()
如果结果是“无效的http升级”,只需确保提供正确的用户名和密码即可。