2010-03-13 5 views
0

Je me demandais la meilleure façon de télécharger un fichier sur un serveur web en cacao. Je ne peux pas sembler obtenir mon code curl pour fonctionner même si cela fonctionne lorsqu'il est exécuté à partir du terminal.Comment utiliser le système dans Cocoa pour invoquer curl

code boucle:

system(@"curl -T /file.txt http://webserevertouploadto.com") 

Merci pour toute aide

+0

Je soupçonne que le système '()' ne prend pas NSString, puisque ce n'est pas le cacao. Comme PCWiz le dit, NSTask est la manière cacao de faire des appels comme system(). – Isaac

+0

'system' fonctionne très bien dans Cocoa; en fait, cela ne fonctionne pas différemment: vous devez lui passer une chaîne C, comme vous le feriez sans Cocoa. Mais NSTask est meilleur que 'system'. –

Répondre

4

Essayez d'utiliser NSTask à la place du système() pour exécuter curl. Si vous cherchez une solution Cocoa native pour télécharger des fichiers via FTP, jetez un oeil à ConnectionKit.

+0

Merci pour la réponse! – nosedive25

+0

Heres un site que j'ai trouvé sur NSTask http://cocoadevcentral.com/articles/000025.php – nosedive25

3

Un inconvénient de l'utilisation de curl est qu'il ne respectera pas les paramètres de proxy de l'utilisateur.

Je préfère utiliser l'API NSURLConnection.

Check this out: http://www.cocoadev.com/index.pl?HTTPFileUploadSample

+0

Merci pour la réponse, mais il semble que beaucoup de code suffit de télécharger un fichier lorsque vous pouvez utiliser curl en seulement quelques lignes. – nosedive25

+2

happyCoding: Vous avez manqué le premier paragraphe de la réponse. "Curl ... ne respectera pas les paramètres de proxy de l'utilisateur." Vous pouvez dire à curl d'utiliser un proxy, mais vous devrez toujours obtenir les paramètres de proxy pour lui donner, et ce n'est plus "seulement quelques lignes". –

Questions connexes