向网站发送http get请求,忽略c ++的响应

时间:2012-05-03 14:37:50

标签: c++ http get

我需要使用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

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用libCurl

使用'easy interface'你只需要调用curl_easy_init(),然后使用curl_easy_setopt()来设置url,然后使用curl_easy_perform()来调用它。如果您想要响应(或进度等),请在setopt()中设置适当的属性。完成所有操作后,请调用curl_easy_cleanup()。完成工作!

文档很全面 - 它不仅仅是一个获取http请求的简单库,而且实际上是每个网络协议。因此意识到doc看起来很复杂,但事实并非如此。

直接使用example代码可能是一个想法,简单的代码如下:

#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;
}

但您可能还想查看“get a file in memory”示例或“replace fopen”示例。