Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - WebClient in C
Forum - C/C++ - WebClient in C

Avatar
Thejuster (Member)
Guru^2


Messaggi: 1922
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 9:33
Sabato, 23/02/2019
Buongiorno.

Chiedevo c'è un modo semplice in C per inviare una richiesta http?

in questo punto

Codice sorgente - presumibilmente Delphi

  1. /* Format message from player to send to the channel
  2.  * - Also truncate extra characters if message is too long
  3.  * @param channel: Channel data
  4.  * @param sd: Player data
  5.  * @param msg: Message to send
  6.  * @return
  7.  *  0: Success
  8.  * -1: Invalid player, channel, or message
  9.  * -2: Delay message from last message
  10.  */
  11. int channel_send(struct Channel *channel, struct map_session_data *sd, const char *msg) {
  12.     int idx = 0;
  13.  
  14.     if(!channel || !sd || !msg || (idx = channel_pc_haschan(sd, channel)) < 0)
  15.         return -1;
  16.  
  17.     if(!pc_has_permission(sd, PC_PERM_CHANNEL_ADMIN) && channel->msg_delay != 0 && DIFF_TICK(sd->channel_tick[idx] + channel->msg_delay, gettick()) > 0) {
  18.         clif_messagecolor(&sd->bl,color_table[COLOR_RED],msg_txt(sd,1455),false,SELF); //You're talking too fast!
  19.         return -2;
  20.     }
  21.     else {
  22.         char output[CHAT_SIZE_MAX];
  23.         unsigned long color = channel->color;
  24.         if((channel->opt&CHAN_OPT_COLOR_OVERRIDE) && sd->fontcolor && sd->fontcolor < channel_config.colors_count && channel_config.colors[sd->fontcolor])
  25.             color = channel_config.colors[sd->fontcolor];
  26.         safesnprintf(output, CHAT_SIZE_MAX, "%s %s : %s", channel->alias, sd->status.name, msg);
  27.         clif_channel_msg(channel,output,color);
  28.         sd->channel_tick[idx] = gettick();
  29.     }
  30.     return 0;
  31. }



il messaggio è contenuto in const char* msg;
dovrei realizzare un'altra variabile che contenga una stringa in formato json ed inviare una richiesta di tipo post ad un sitoweb.

purtroppo di C so pochissimo di come gestire la memoria e quant'altro.
ma vorrei provare facendo un passo alla volta.

come posso realizzare in C un semplice webclient che effettui una richiesta POST ad un sito web?

avete un esempio pratico e veloce da mostrarmi?

Ultima modifica effettuata da Thejuster il 23/02/2019 alle 9:34


PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 443
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 12:52
Sabato, 23/02/2019
Penso che ti convenga dare un'occhiata alla libreria curl o comunque a una qualsiasi libreria che permetta facilmente la gestione dell' http

PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1922
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 11:37
Venerdì, 01/03/2019
Sto usando Vs 2015 ma mi manca proprio quella Liberia.

C'è un alternativa? O serve quella?

Se serve quella, come la installo questa Liberia?

Mai fatto prima d'ora sorry.


PM Quote