Я пытаюсь sign in
пользователя зайти на сайт, используя его username and password
. Однако мне было трудно обойтись без использования API. Веб-сайт не предоставляет такой возможности, поэтому я пытаюсь аутентифицировать их с помощью запроса POST и собирать данные о пользователе.
Вот страница, на которой я пытаюсь войти:
https://www.leapcard.ie/en/Login.aspx
Я пытался что-то подобное, но не получилось:
func onPostTapped(_ sender: Any) {
let userName = "userName"
let passWord = "passWord"
let parameters = ["ContentPlaceHolder1_UserName": userName, "ContentPlaceHolder1_Password": passWord]
let link = "https://www.leapcard.ie/en/Login.aspx"
guard let url = URL(string: link) else { return }
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("text/html; charset=utf-8", forHTTPHeaderField: "Content-Type")
guard let httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: []) else { return }
request.httpBody = httpBody
let session = URLSession.shared
session.dataTask(with: request) { (data, response, error) in
if let response = response {
print("response: \(response)")
}
if error != nil {
print("Error: \(String(describing: error))")
}
if let unwrappedData = data {
if let dataString = NSString(data: unwrappedData, encoding: String.Encoding.utf8.rawValue) {
print("data: \(String(describing: dataString))")
}
}
}.resume()
}