2010-03-13 42 views
0

我想知道將文件上傳到可可中的Web服務器的最佳方式。即使它從終端運行時,我似乎無法讓我的捲髮代碼工作。如何在可可中使用系統調用捲曲

捲曲代碼:

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

感謝所有幫助

+0

我懷疑是'系統()'不採取一個NSString,因爲它不是可可。正如PCWiz所說,NSTask是可調用方式來調用system()。 – Isaac 2010-03-13 21:52:29

+0

'系統'在可可中工作得很好;事實上,它的工作原理沒有區別:你需要傳遞一個C字符串,就像你沒有Cocoa一樣。但是NSTask比'system'好。 – 2010-03-14 03:54:00

回答

4

嘗試使用NSTask替代系統()執行卷曲。如果您想通過FTP上傳文件尋找原生Cocoa解決方案,請查看ConnectionKit

+0

感謝您的回覆! – nosedive25 2010-03-13 20:38:30

+0

下面是我在NSTask上找到的一個網站http://cocoadevcentral.com/articles/000025.php – nosedive25 2010-03-13 20:40:41

3

使用捲曲的一個負面是它不會尊重用戶的代理設置。

我更喜歡使用NSURLConnection API。

檢查了這一點: http://www.cocoadev.com/index.pl?HTTPFileUploadSample

+0

感謝您的回覆,但是當您只能在幾行內使用curl時,它似乎只是上傳文件的很多代碼。 – nosedive25 2010-03-14 01:06:41

+2

happyCoding:你錯過了答案的第一段。 「curl ...不會尊重用戶的代理設置」。您可以告訴curl使用代理,但是您仍然必須獲得代理設置才能使用代理,然後它不再是「只有幾行」。 – 2010-03-14 03:52:20