Récupérer le code d'une page web
deftones_chrix
Membre
Bonjour à tous,
Voici ma problèmatique, je souhaiterais me connecter sur un site web via une Url et récupérer le source de la page Web (et je ne veux que le source par sa visualisation). A première vue, je pense que je dois utiliser les fonctions CFHTTP (http://developer.apple.com/documentation/Networking/Conceptual/CFNetwork/Chapter_2/chapter_3_section_2.html#//apple_ref/doc/uid/TP30000230/TPXREF104)
Suis je dans le vrai ou bien je me plante complététement ???
Damned Pourquoi n'ai je pas de machine de développement Mac à mon taf
Merci de votre aide et passer une bonne fin d'année
Voici ma problèmatique, je souhaiterais me connecter sur un site web via une Url et récupérer le source de la page Web (et je ne veux que le source par sa visualisation). A première vue, je pense que je dois utiliser les fonctions CFHTTP (http://developer.apple.com/documentation/Networking/Conceptual/CFNetwork/Chapter_2/chapter_3_section_2.html#//apple_ref/doc/uid/TP30000230/TPXREF104)
Suis je dans le vrai ou bien je me plante complététement ???
Damned Pourquoi n'ai je pas de machine de développement Mac à mon taf
Merci de votre aide et passer une bonne fin d'année
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Oui et non.
En fait, le webKit (sous cocoa) te permet de faire la même chose.
Voici un exemple qui te permet de récupérer le code source de la page d'OC dans une NSString :
La NSString source va contenir le source de la page html.
.
Il suffit de faire :
Effectivement ça devient plus complexe mais l'important pour moi est de ne pas se lier à un framework de plus inutilement.
PS : j'ai édité mon message pour essayer d'aligner les : de la méthode mais bizarrement les espaces ne sont pas les mêmes dans la fenêtre d'édition et ensuite dans le forum ???
Le webKit se charge de ça automatiquement.
Puor l'anecdote, récupérer dierctement le contenu d'une ressource pointée par une URL est pour moi la pire des méthodes... En effet, il faut connaitre le type exacte des données pointées, de gérer les exceptions, etc... Il est donc préférable d'utiliser les apis d'Apple si elles existent plutôt que de chercher à re écrire (peut être plus mal) ce qui existe déjà .
.
??? Ah bon ? Alors soit stringWithURL dézippe tout seul soit je ne suis jamais tombé sur ce cas...
Ben si je lis bien ton code avec Webkit aussi tu as besoin de savoir l'encodage de la page. Ensuite la méthode stringWithURL fait bien partie des APIs d'Apple donc je ne cherche pas à réécrire quoi que ce soit.
Et gérer les exceptions et erreurs pour moi ça se limite à regarder le contenu de ma string à l'arrivée.
Evidemment on a moins de controle sur la connexion internet mais si c'est le seul endroit dans l'application où l'on doit aller chercher du contenu sur le web cela reste quand même préférable selon moi à se lier à WebKit.
Pour moi WebKit c'est uniquement si je veux afficher des pages webs, mais pour récupérer des données uniquement je n'en vois pas l'intérêt. Et d'ailleurs pour faire du traitement sur des pages webs j'ai tendance à déléguer la tache à des scripts perls via NSTask (pour accéder par exemple à une page qui ne peut être atteinte que par l'envoi d'un formulaire).
Je pense plutôt que stringWithURL dégzippe tout seul...
Faudrait que je teste ça ce soir sur mon mac.
Mais si c'est le cas, alors, oui, c'est carrément plus simple d'utiliser cette méthode de NSString plutôt que de recourrir au webKit juste pour lire du code HTML.