HTTP , FTP 通信用ライブラリ libcurl インストールしてみました

 FTP接続に関するC++プログラミングをしていて、最近はレンタルサーバーでも暗号化による通信が増えてきていることを知り、苦労が続いている。
 当たり前のことだが、セキュリティがしっかりしていないと、困る。

 従来のWindows API の ::InternetOpen() 系の関数や、MFCのCFtpConnectionクラスでは、もはやこの暗号化には対応していないようだ。SSLやFTPSといった内容は、どうにもならない。

 Google Geminiに質問してみたら、やはり同じ解答で、「libcurl を使う」ことを勧められた。
 検索してみても、どのサイトもブログも、わかりにくい。わかりにくいどころか、インストールの方法すら理解できない。
 こんな高度なプログラミングを考えてる人なら、これくらい読んで理解しろ・・・そんな感じにしか見えない。
 そこで、これも Google Gemini に質問してみたら、親切極まりない。
 これからの世の中、言語能力の低い人、説明能力の低い人は、仕事がなくなるだろう。

(1)Visual Studioで開発しているソルーション、プロジェクトを開く。
   メニューの「プロジェクト」から「NuGetパッケージの管理」を選ぶ。

(2)「参照」で検索コーナーに「curl」を入力して検索
    C++であれば、C++やNativeと書かれているものを選ぶ。

 どれがいいのかわからないが、インストールしてみた。
 Visual Studio 2022は、内部ではVerson1.43らしいので、Version1.40は少し古い。しかし、大丈夫らしい。

(3)その後もあれこれ。
// 1. Windows の標準ライブラリ
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "wldap32.lib")
#pragma comment(lib, "crypt32.lib")
#pragma comment(lib, "normaliz.lib")
// 2. OpenSSL のライブラリ(curl のバージョンによって名前が異なります)
#pragma comment(lib, "libssl.lib")
#pragma comment(lib, "libcrypto.lib")
#include <curl/curl.h>
・・・をcppファイルに追加。

しかしビルドすると、色々とエラーが出る。
OpenSSLもインストールしなければならないらしい。

結局、同じように「NuGetパッケージの管理」からOpenSSLを検索して、適当にインストール。

以上の流れでインストール完了。