// set the parameters
char* client_id = "acc28db2d2e54dbd894153392dfd0ac2";
char* client_secret = "1ac7552dc98b6d49b9fd34a182b3ecaf";
char* username = "13185018567";
char* password = "1897a69ef451f0991bb85c6e7c35aa31";

// do not change below this line
//----------------------------------------------------------

char buffer[65536];
int length = strlen(client_id) + strlen(client_secret) + strlen(username) + strlen(password) + 45;

STREAM* stream = stream_create("/dev/tcp/euapi.sciener.com/80", 0, 0);
char* cmd = "POST /oauth2/token HTTP/1.1\r\nHost: euapi.sciener.com\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: %d\r\n\r\n";
sprintf(buffer, cmd, length);

stream_write(stream, buffer, strlen(buffer));
sprintf(buffer, "client_id=%s&client_secret=%s&username=%s&password=%s\r\n", client_id, client_secret, username, password);
stream_write(stream, buffer, strlen(buffer));
stream_flush(stream);

int cnt = 0;
int total = 0;
do
{
    cnt = stream_read(stream, (char*)(((int)(char*)buffer)+total), 65536 - total, 5000);
    total += cnt;
}
while (cnt > 0 && total < 65536);

stream_close(stream);

// write the https respose for debugging:
//FILE* f = fopen("/1.html", "w");
//fprintf(f, "%s", buffer);
//fclose(f);

char* token = strstrskip(buffer, "\"access_token\":\"");
int pos = strfind(token, "\"", 0);
token[pos] = 0;

setoutputtext(0, token);
