with httpbody example xcode swift3 httprequest postman raw-data

xcode - httpbody - Solicitud HTTP en Swift con el método POST en swift3



urlrequest post parameters (2)

Supongo que eres totalmente novato, pero esto es algo que puedes probar en SWIFT 3 :

  1. Abra el archivo info.plist (haga doble clic O haga clic con el botón derecho> Abrir como> Código fuente)
  2. Pegue este código antes de cerrar las etiquetas </dict> y </plist> :

    <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>tranzporthub.com</key> <dict> <!--Include to allow subdomains--> <key>NSIncludesSubdomains</key> <true/> <!--Include to allow HTTP requests--> <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/> <!--Include to specify minimum TLS version--> <key>NSTemporaryExceptionMinimumTLSVersion</key> <string>TLSv1.1</string> </dict> </dict>

  3. Ahora abra su controlador de vista y pegue este código donde desee realizar una solicitud posterior:

    var request = URLRequest(url: URL(string: "http://test.tranzporthub.com/street45/customer_login.php")!) request.httpMethod = "POST" let postString = "[email protected]&password=123" 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()

NOTA: ¡puede eliminar instrucciones de impresión si no las necesita!

¡Espero que esto ayude! :)

Estoy tratando de ejecutar una solicitud HTTP en Swift3, para enviar 2 parámetros a una URL.

Ejemplo:

Enlazar:

http://test.tranzporthub.com/street45/customer_login.php

Params:

{ "user_id":"[email protected]", "password":"123" }

¿Cuál es la forma más simple de hacer eso?

Ni siquiera quiero leer la respuesta. Solo quiero enviar eso para realizar cambios en mi base de datos a través de un archivo PHP.


@IBAction func postAction(_ sender: Any) { let Url = String(format: "your url") guard let serviceUrl = URL(string: Url) else { return } // let loginParams = String(format: LOGIN_PARAMETERS1, "test", "Hi World") let parameterDictionary = ["username" : "@kilo_laco", "tweet" : "Hi World"] var request = URLRequest(url: serviceUrl) request.httpMethod = "POST" request.setValue("Application/json", forHTTPHeaderField: "Content-Type") guard let httpBody = try? JSONSerialization.data(withJSONObject: parameterDictionary, options: []) else { return } request.httpBody = httpBody let session = URLSession.shared session.dataTask(with: request) { (data, response, error) in if let response = response { print(response) } if let data = data { do { let json = try JSONSerialization.jsonObject(with: data, options: []) print(json) }catch { print(error) } } }.resume() }