Radek ChalupaČlánkyUkázky kóduTipy a trikyAktualityŠkolení a konzultaceVývoj softwareFreewareKontakt

Jednoduchý HTTP klient s využitím knihovny libsoup.

#include <stdlib.h>
#include <stdio.h>
#include <glib-2.0/glib.h>
#include <libsoup/soup.h>

int main(int argc, char* argv[])
{
	SoupSession* ss = soup_session_new();
	if (!ss)
	{
		perror("chyba soup_session_new");
		return EXIT_FAILURE;
	}
	SoupMessage* msg = soup_message_new ("GET",
		"https://www.radekchalupa.cz/");
	if (!msg)
	{
		perror("chyba soup_message_new");
		return EXIT_FAILURE;
	}
	guint status = soup_session_send_message(ss, msg);
	printf("HTTP status: %d\n\n", (int)status);
	if (msg->response_body->length > 0)
	{
		printf("délka: %d\n", (int) msg->response_body->length);
		printf("%s\n", msg->response_body->data);
	}
	else
		printf("Při odpovědi došlo k chybě.");
	printf("konec\n"); 
	getchar();
	return 0;
}

Kód lze sestavit následujícím příkazem:

g++ libsoup-http-klient.cpp -Wall -olibsoup-http-klient `pkg-config --libs --cflags glib-2.0` `pkg-config --libs --cflags libsoup-2.4`

Copyright © 2019 - Radek Chalupa