2012-11-06 147 views
0

如何在C++中打開一個url,Objective-C有大量的例子,但我的應用程序不使用objective-c並以main()開頭,並且都是c/C++ 。我正在使用URLSimpleDownload,但它不再工作(返回-50)。我不想打開網頁或瀏覽器,我只需要從c/C++中打開一個網址即可。打開網址mac osx C++

回答

1

您可以參考幾個您提到的NSURL示例,並使用等效的CFURL* API。注意:CFURLRef是一個NSURL*。所以你只需要找出相應的基於NSURL的實現使用的接口CFURL*

這種CF型是NS型的關係被稱爲「免費橋接」。

請注意,並非所有東西都會一對一映射,NS-API有很多便利/添加 - 最好將其視爲CF-API之上的抽象層。

+0

我看到有一個NSString的stringWithContentsOfURL功能,這正是我需要的,但沒有相應的CFString字符串函數爲了它? – Rasterman

+0

創建cfdata中間件 – justin

0

你可以嘗試下載並安裝cURLpp(從代碼neuropost):

// Edit : rewritten for cURLpp 0.7.3 
// Note : namespace changed, was cURLpp in 0.7.2 ... 
#include <curlpp/cURLpp.hpp> 
#include <curlpp/Easy.hpp> 
#include <curlpp/Options.hpp> 

// RAII cleanup 
curlpp::Cleanup myCleanup; 

// standard request object. 
curlpp::Easy myRequest; 

// Set the URL. 
myRequest.setOpt(new curlpp::options::Url(std::string("http://example.com"))); 

// Send request and get a result. 
// By default the result goes to standard output. 
// Here I use a shortcut to get it in a string stream ... 
std::ostringstream os; 
os << myRequest.perform(); 

string asAskedInQuestion = os.str();