2

我需要使用 c++ 发送一个 http get 请求。我现在的代码是:

#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;

int main ()
{
    ifstream llfile;
    llfile.open("C:/AdobeRenderServerLog.txt");

    if(!llfile.is_open()){
        exit(EXIT_FAILURE);
    }

    char word[50];
    llfile >> word;
    cout << word;
    llfile.close();
    return 0;
}

该请求将发送到:

www.example.com/logger.php?data=word

4

1 回答 1

1

可能最简单的是使用libCurl

使用“简单界面”,您只需调用 curl_easy_init(),然后调用 curl_easy_setopt() 来设置 url,然后调用 curl_easy_perform() 来获取。如果您想要响应(或进度等),请在 setopt() 中设置适当的属性。完成后,调用 curl_easy_cleanup()。任务完成!

文档很全面——它不仅仅是一个简单的获取 http 请求的库,而且几乎适用于所有网络协议。意识到文档因此看起来相当复杂,但事实并非如此。

直接进入示例代码可能是一个想法,简单的代码如下所示:

#include <stdio.h>
#include <curl/curl.h>

int main(void)
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
    res = curl_easy_perform(curl);

    /* always cleanup */ 
    curl_easy_cleanup(curl);
  }
  return 0;
}

但是您可能还想查看“在内存中获取文件”示例或“替换 fopen ”示例。

于 2012-05-03T15:53:05.140 回答