c++ - 如何为 libcurl 中的 url 设置 var

我按照教程获取网页。它有效,但他们手动设置了 URL。我尝试将其更改为使用 var 中的 URL,但这不起作用。我在终端“无法解析主机名”中收到错误,我尝试了 main(char*),它给出了同样的错误。我似乎无法在网上找到任何东西。我怎样才能使它可以将用户定义的 var 用作 URL?

下面的代码。

#include <iostream>
#include <curl/curl.h>
#include <string>

using namespace std;

int main() {
  string website;

  getline(cin, website);

  CURL* curl = curl_easy_init();

  if (!curl) {
    fprintf(stderr, "init failed\n");
    return EXIT_FAILURE;
  }

  // set up

  curl_easy_setopt(curl, CURLOPT_URL, "$website");

  // perform
  CURLcode result = curl_easy_perform(curl);
  if (result != CURLE_OK) {
    fprintf(stderr, "download prob: %s\n", curl_easy_strerror(result));
  }

  curl_easy_cleanup(curl);
  return EXIT_SUCCESS;
}

回答1

"$website" 只是一个字符串,一段文本。该变量应该被引用为 website,并且由于该函数需要一个指向字符数组的指针,因此您使用类的 c_str()data() 方法。

curl_easy_setopt(curl, CURLOPT_URL, website.data());

相似文章

最新文章