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.