Comment tester une URL et obtenir un code d'état dans Swift 3?
Je suis en utilisant la plus récente version de Xcode (8.1 au moment de l'écriture), qui utilise Swift 3.0.
Tout ce que je suis en train de faire est de prendre une corde, de le convertir à une URL et de tester l'URL pour voir si il me donne une erreur 404. J'ai été en mesure de faire une URL et URLRequest en utilisant:
let url = URL(string: fullURL)
let request = URLRequest(url: url!)
mais je me suis trouvé dans l'impossibilité d'obtenir quoi que ce soit de travail au-delà. J'ai cherché de l'aide, mais la plupart, si pas tous, il est écrit dans Swift 2.0, que j'ai essayé de convertir en vain. Il semble que même si vous modifiez la convention de nommage pour supprimer le NS préfixe, ce n'est pas assez. J'ai essayé d'utiliser:
let response: AutoreleasingUnsafeMutablePointer<URLRequest> = nil
mais cela me donne une erreur "fix-it" fait pire en collant des points d'interrogation et points-virgules partout.
La documentation d'Apple n'est pas m'aider beaucoup, que ce soit. Je suis au sérieux une perte.
Quelqu'un sait comment paramétrer et tester une URL pour 404 statut de Swift 3.0?
- stackoverflow.com/a/39099896/1801544 ?
- vous pouvez consulter this
Vous devez vous connecter pour publier un commentaire.
essayer de vous donner les codes d'état des réponses - 200, 404, etc:
Vous pouvez également faire la même chose, il suffit de remplacer le
with: url!
d'utiliser lerequest
var que vous avez définis dans votre exemple par exemplelet task = URLSession.shared.dataTask(with: request) {...}
Mais dans cet exemple, je ne pense pas que vous devez vraiment.error
après la réponse, de sorte que vous obtenez quelque chose comme{ _, response, error in
et puis essayez d'imprimer l'erreur pour voir ce que vous allez obtenir"A server with the specified hostname could not be found."
qui indiquerait un problème côté serveur."The Internet connection appears to be offline."
, et tous ces serait la cause de la réponse à l'échec comme vous l'avez mentionné.viewDidLoad
et semble bien fonctionner, alors peut-être vous faire cela d'une manière différente est la raison?Exemple Simple:
Voici un exemple de méthode du délégué
Voici l'exemple https://github.com/ankitthakur/SwiftNetwork/blob/master/Sources/Shared/SwiftNetwork.swift