Ранее существовала реализация получения и отправки http-запроса из системы POS на языке C на сервер. Однако из соображений безопасности сервер принимает только https на порту 443.
Реализация не работала на порту 443 с индикацией ошибок HTTP 400/362.
Вот пример кода,
char *build_get_query(char *host, char *page)
{
char *query;
char *getpage = page;
char *tpl = "GET /%s HTTP/1.0\r\nHost: %s\r\nUser-Agent: %s\r\n\r\n";
/*if(getpage[0] == '/'){
getpage = getpage + 1;
fprintf(stderr,"Removing leading \"/\", converting %s to %s\n", page, getpage);
} */
// -5 is to consider the %s %s %s in tpl and the ending \0
query = (char *)malloc(strlen(host)+strlen(getpage)+strlen(USERAGENT)+strlen(tpl)-5);
sprintf(query, tpl, getpage, host, USERAGENT);
return query;
}
P.S. не эксперт в C Спасибо