В чем разница между request.httpBody и URLSession.share.upload (с: from :) - PullRequest
0 голосов
/ 06 января 2019

Я использую URLSession в swift для отправки сообщения на мой веб-сервис с php, php получает данные из $ _POST ["varname"].

Я нашел, поместил переменную в request.httpBody работает, и поместил переменную в данные в uploadData (с: from :) также работает.

Итак, в чем разница между этими двумя способами? Какой из них я предпочитаю?

php-сервис - PHP7, swift - версия 4.

Пример для стиля httpBody:

private func read(){
    let url = URL(string: "http://mywebservice.com/index.php")!
    var request = URLRequest(url: url)
    request.httpMethod = "POST"
    let string = "username=user1&password=password1"
    request.httpBody = string.data(using: .utf8)
    let task = URLSession.shared.dataTask(with: request){ (data, response, error) in
        //do with data from server
    }
    task.resume()
}

Пример стиля данных:

private func read2(){
    let url = URL(string: "http://mywebservice.com/index.php")!
    var request = URLRequest(url: url)
    request.httpMethod = "POST"
    let string = "username=user1&password=password1"
    let data = string.data(using: .utf8)!
    let task = URLSession.shared.uploadTask(with: request, from: data){ (data, response, error) in
        //do with data from server
    }
    task.resume()
}
...