【问题标题】:open url mac osx c++打开网址 mac osx c++
【发布时间】: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


    【解决方案1】:

    您可以采用您提到的几个NSURL 示例,并使用等效的CFURL* API。注意:CFURLRefNSURL*。所以你只需要找出基于NSURL的实现使用的对应CFURL*接口。

    CF 类型是 NS 类型的这种关系称为“免费桥接”。

    请注意,并非所有内容都将一对一映射,NS-API 有很多便利/附加功能 - 最好将其视为 CF-API 之上的抽象层。

    【讨论】:

    • 我看到有一个NSString stringWithContentsOfURL函数正是我需要的,但是没有对应的CFString函数呢?
    • 创建 cfdata 中间体
    【解决方案2】:

    您可以尝试下载并安装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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-16
      • 2018-11-13
      相关资源
      最近更新 更多