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=単語

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

しかし、' get a file in memory ' サンプルまたは ' replace fopen ' サンプルもチェックしたくなるかもしれません。

于 2012-05-03T15:53:05.140 に答える