Nie ma wbudowanego mechanizmu obsługi połączeń z serwerem www np. Apache w C++. W tym celu skorzystamy z zewnętrznej biblioteki.

Do pobrania

Do pobrania jest biblioteka:
https://github.com/yhirose/cpp-httplib
W zasadzie wystarczy tylko plik .h.

Problemy include

Jeśli w naszym projekcie używamy Windows.h, to najpierw trzeba załączyć httplib. Mogą wystąpić też konflikty z innymi bibliotekami .h, dlatego załączamy httlib.h na początku.

1
2
#include "httlib.h"
#include <Windows.h>

Połączenie GET

Teraz nawiązywanie połączeń GET z serwerem np. Apache jest bardzo proste:

1
2
3
4
5
6
7
int main()
{
        httplib::Client cli("http://localhost");
        auto res = cli.Get("/test.php");
        cout << res;
        return 0;
}

Do testów posłużymy się serwerem XAMPP, wgramy do folderu c:\xampp\htdocs plik test.php, uruchomimy serwer Apache (można sprawdzić w przeglądarce: http://localhost/test.php czy działa).

Plik test.php, pobierany ze „zdalnego” serwera, może mieć postać:

1
2
3
<?php
  echo "1";
?>

Inne przykłady na stronie biblioteki.

C++