如何为 libcurl 中的 url 设置 var

How can I set a var for the url in libcurl

我按照教程获取网页。它有效,但他们手动设置 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;
}

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

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