【发布时间】:2012-11-06 01:49:21
【问题描述】:
如何在 C++ 中点击 url,Objective-C 有大量示例,但我的应用程序不使用 Objective-c 并且以 main() 开头,并且都是 c/c++。我正在使用 URLSimpleDownload,但它不再工作(返回 -50)。我不想打开网页或浏览器,我只需要从 c/c++ 中点击一个 url。
【问题讨论】:
标签: c++ macos cocoa url macos-carbon
如何在 C++ 中点击 url,Objective-C 有大量示例,但我的应用程序不使用 Objective-c 并且以 main() 开头,并且都是 c/c++。我正在使用 URLSimpleDownload,但它不再工作(返回 -50)。我不想打开网页或浏览器,我只需要从 c/c++ 中点击一个 url。
【问题讨论】:
标签: c++ macos cocoa url macos-carbon
您可以采用您提到的几个NSURL 示例,并使用等效的CFURL* API。注意:CFURLRef 是 NSURL*。所以你只需要找出基于NSURL的实现使用的对应CFURL*接口。
CF 类型是 NS 类型的这种关系称为“免费桥接”。
请注意,并非所有内容都将一对一映射,NS-API 有很多便利/附加功能 - 最好将其视为 CF-API 之上的抽象层。
【讨论】:
您可以尝试下载并安装cURLpp(代码来自neuro的post):
// 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();
【讨论】: