Django and C++ communication

939 views python
4

I need to send some data from my C++ program in my client machine to a Django server in order to process the data with Python and send it back to another client machine. That would be easy if it was something like ajax with javascript using json, but the thing is, I researched a lot and found a library for C++ called Wt, it seems to have what I need, but I have no clue of how I would be able to send the data to a Django view. I couldn't find any useful code specific to this problem, I would appreciate if someone could give me a light of how to do so.

answered question

1 Answer

3

wt is a library for servers. You need a client. Your C++ code will act as the browser and make HTTP requests to your Django server. There are many C++ libraries that let you do that. A very common one is libcurl. It's easy to POST with libcurl as shown by their example:

#include <stdio.h>
#include <curl/curl.h>

int main(void)
{
  CURL *curl;
  CURLcode res;

  /* In windows, this will init the winsock stuff */ 
  curl_global_init(CURL_GLOBAL_ALL);

  /* get a curl handle */ 
  curl = curl_easy_init();
  if(curl) {
    /* First set the URL that is about to receive our POST. This URL can
       just as well be a https:// URL if that is what should receive the
       data. */ 
    curl_easy_setopt(curl, CURLOPT_URL, "http://my.django.server/some/url");
    /* Now specify the POST data */ 
    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl");

    /* Perform the request, res will get the return code */ 
    res = curl_easy_perform(curl);
    /* Check for errors */ 
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));

    /* always cleanup */ 
    curl_easy_cleanup(curl);
  }
  curl_global_cleanup();
  return 0;
}

posted this

Have an answer?

JD

Please login first before posting an answer.