Как войти на сайт с помощью Swift - PullRequest
0 голосов
/ 08 сентября 2018

Я пытаюсь 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()
    }
...