curl_easy_perform

libcurlは、cURLにあるcurlコマンドをライブラリとして使えるようにしたもの。

C/C++のlibcurl利用サンプル - Qiita
[C言語] curl libを使ってみる - Qiita
libcurl - curl_easy_perform()

curl_easy_performでリクエストを実行する。
まず、libcurlのインストール。

$ sudo yum install libcurl-devel
[sudo] bg1 のパスワード:
Fedora Modular 31 - x86_64                       20 kB/s | 6.0 kB     00:00    
Fedora Modular 31 - x86_64 - Updates             11 kB/s | 6.3 kB     00:00    
Fedora Modular 31 - x86_64 - Updates            245 kB/s | 582 kB     00:02    
Fedora 31 - x86_64 - Updates                     11 kB/s | 6.4 kB     00:00    
Fedora 31 - x86_64 - Updates                    959 kB/s | 6.5 MB     00:06    
Fedora 31 - x86_64                               11 kB/s | 6.1 kB     00:00    
依存関係が解決しました。
================================================================================
 Package              Architecture  Version                 Repository     Size
================================================================================
インストール:
 libcurl-devel        x86_64        7.66.0-1.fc31           fedora        807 k

トランザクションの概要
================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 807 k
インストール済みのサイズ: 1.3 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
libcurl-devel-7.66.0-1.fc31.x86_64.rpm          367 kB/s | 807 kB     00:02    
--------------------------------------------------------------------------------
合計                                            281 kB/s | 807 kB     00:02    
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1
  インストール中   : libcurl-devel-7.66.0-1.fc31.x86_64                     1/1
  scriptletの実行中: libcurl-devel-7.66.0-1.fc31.x86_64                     1/1
  検証             : libcurl-devel-7.66.0-1.fc31.x86_64                     1/1

インストール済み:
  libcurl-devel-7.66.0-1.fc31.x86_64                                            

完了しました!
$

で、main.cに、

とすると、

$ vi main.c
$ gcc main.c -o main -lcurl
$ ./main
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title id="title_index">B.G-STATION</title>
  </head>
  <body id="body_index" bgcolor="#ffffff" text="#7700cc" link="0000ff" alink="ff0000" vlink="ff00ff">
    <div id="div_title_image" align="center">
      <img src="/images/title.png" width="460px" height="140px" />
    </div>
    <div id="div_link_top" align="center">
      <a href="bgst/index.html">Top</a>
    </div>
  </body>
</html>
$

curlでリクエストを投げた時のようにレスポンスが返る。

Sample/libcurl/curl_easy_perform/curl_easy_perform/src/curl_easy_perform at master · bg1bgst333/Sample · GitHub