2012-11-06 2 views
0

어떻게 C++에서 URL을 건드릴 수 있나요? Objective-C에 대한 많은 예제가 있습니다.하지만 내 응용 프로그램은 objective-c를 사용하지 않고 main()으로 시작하고 모두 c/C++입니다. . URLSimpleDownload를 사용하고 있었지만 더 이상 작동하지 않습니다 (-50을 반환). 웹 페이지 나 브라우저를 열지 않으려는 경우 c/C++에서 URL을 누르기 만하면됩니다.open url mac osx C++

답변

1

당신이 언급 한 그 중 몇 가지를개 가지고 가서 동등한 개의 API를 사용할 수 있습니다. 참고 : CFURLRefNSURL*입니다. 따라서 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();