-1
J'essaie d'exécuter une requête HTTP dans Swift, pour POST 2 paramètres à une URL. Mais il renvoie toujours la page d'erreur 403, quel est le problème?URLSession renvoie la page d'erreur HTTP 403
Je tente d'ajouter un en-tête Content-type, mais cela ne fonctionne pas.
code:
print("ENVIAR DATOS")
let url = NSURL(string: "https://www.portaljuridico.com.co/portaljuridico/User/login")
let request = NSMutableURLRequest(url: url! as URL)
request.httpMethod = "POST"
let param = ["username" : "juan", "password" : "123"]
guard let httpBody = try? JSONSerialization.data(withJSONObject: param, options: []) else { return }
//request.addValue("application/form-data", forHTTPHeaderField: "Content-Type")
//request.setValue("application/json", forHTTPHeaderField: "Content-Type")
//request.addValue("application/json", forHTTPHeaderField: "Accept")
request.httpBody = httpBody
let task = URLSession.shared.dataTask(with: request as URLRequest) { data, response, error in
guard let data = data, error == nil else {
print("error = \(error!)")
return
}
if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 {
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(response!)")
}
let responseString = String(data: data, encoding: .utf8)
print("responseString = \(responseString!)")
}
task.resume()
Utilisez postString comme dictionnaire et non comme chaîne. Essayez aussi? JSONSerialization.data (withJSONObject: postString, options: .prettyPrinted) –
Je viens de le mettre à jour et ne fonctionne toujours pas :( –
Les serveurs acceptent les données POST à leur guise.Quel type de données votre serveur accepte-t-il vraiment JSON? – OOPer