Pushover Dienst mittels WinAPI
-
Hallo,
ich beschäftige mich gerade mit dem Dienst Pushover, welcher Pushnachrichten aufs Smartphone schicken lassen kann. Auf der Seite sind auch Code samples: http://pushover.net/
Nun möchte ich das mit einem C++ Programm machen was aber nicht klappt. Hat jemand eine Idee? StatusCode ist immer 0.
Hier mein Code
HINTERNET hInternet = InternetOpen("MyApp", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); HINTERNET hConnect = InternetConnect(hInternet, "http://api.pushover.net", INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0); const char* rgpszAcceptTypes[2] = {"application/json", NULL}; HINTERNET hRequest = HttpOpenRequest(hConnect, "POST", "/1/messages.json", NULL, NULL, rgpszAcceptTypes, 0, 0); HttpAddRequestHeaders(hRequest, "Content-Type: application/json\r\n", -1, HTTP_ADDREQ_FLAG_ADD); char* JsonData = "{\"token\":\"<tok>\", \"user\":\"<usr>\", \"message\":\"HelloWorld\"}"; //char* JsonData = "token:<tok> user:<usr> message:HelloWorld"; HttpSendRequest(hRequest, NULL, 0, JsonData, strlen(JsonData)); DWORD StatusCode = 0; DWORD StatusCodeLen = sizeof(StatusCode); HttpQueryInfo(hRequest, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &StatusCode, &StatusCodeLen, NULL); InternetCloseHandle(hRequest); InternetCloseHandle(hConnect); InternetCloseHandle(hInternet);
-
In InternetConnect() muss dass "http://" raus für den Servernamen. StatusCode ist 400, also Bad Request.
-
Ich hab mit diesen Funktionen wenig Erfahrung, aber evtl. muss noch der "Content-Length" Header gesetzt werden, falls das HttpSendRequest nicht selbst tut?