Я пытаюсь отправить HTTP-запрос «POST» для веб-службы, которая должна вернуть изображение в кодировке base64. Это пример HTTP-запроса для службы:
![https://imgur.com/a/XTbVxEW](https://i.stack.imgur.com/RlHZu.png)
Я пытаюсь сделать следующее:
func fetchPicture(username: String, password: String) {
let url = URL(string: "https://myurl.com/download/bootcamp/image.php")!
var request = URLRequest(url: url)
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
request.setValue(password.stringToSHA1Hash(), forHTTPHeaderField: "Authorization")
let postString = "username=\(username)"
request.httpBody = postString.data(using: .utf8)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else { // check for fundamental networking error
print("error=\(error)")
return
}
if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { // check for http errors
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(response)")
}
let responseString = String(data: data, encoding: .utf8)
print("responseString = \(responseString)")
}
task.resume()
}
Я получаю сообщение об ошибке 401 Unauthorized, я не знаю, так ли это, потому что мой запрос плохой, или просто инициалы входа в систему. Было бы замечательно, если бы кто-то мог просмотреть код и сказать мне, действительно ли он соответствует приведенному выше примеру запроса.
Спасибо!