コード例 #1
0
ファイル: xplsendjson.c プロジェクト: ayasystems/pmaxd
int main(void)
{
	char *data;
	long m,n;
	printf("%s%c%c\n",
	"Content-Type:text/html;charset=iso-8859-1",13,10);

//	printf("<h3>Multiplication results</h3>\n");

	data = getenv("QUERY_STRING");

  

	stripSpace(data);
	char schemaclass[500];
	char schematype[500];
	char namedvaluearray[500];
	char name[500];
	char value[500];
	char command[500];
	char varcontent[500];
  char jsoncontent[500];
  char NVelement[500];
//  printf("URL %s<BR>\n",data);
  strcpy(command,data);
  unencode(command);
  findVarInURL(varcontent,data,"xplpacket");
  unencode(varcontent); 
  stripSpace(varcontent);
	
  xPL_initialize(xPL_getParsedConnectionType());
  webgateway = xPL_createService("viknet", "webgateway", "default");  
  xPL_setServiceVersion(webgateway, "1.0");

  
  /* Add a responder for time setting */
  xPL_addServiceListener(webgateway, webgatewayMessageHandler, xPL_MESSAGE_ANY, "security", NULL, NULL);
  xPL_setServiceEnabled(webgateway, TRUE);
  /* Create a message to send */
  xplMessage = xPL_createBroadcastMessage(webgateway, xPL_MESSAGE_COMMAND);

  if (JSONfindObject(schemaclass,varcontent,"msgschemaclass")!=NULL && JSONfindObject(schematype,varcontent,"msgschematype")!=NULL)
    xPL_setSchema(xplMessage, JSONtoString(schemaclass), JSONtoString(schematype));
	else
    xPL_setSchema(xplMessage, "schemaclass", "schematype");	
	
	JSONfindObject(namedvaluearray,varcontent,"namevaluelist");
  int i;
   for (i=0;i<JSONArrayLength(namedvaluearray);i++)
   {
     JSONArrayAt(NVelement,namedvaluearray,i);
	   if ( JSONfindObject(name,NVelement,"name") && JSONfindObject(value,NVelement,"value"))
	   xPL_addMessageNamedValue(xplMessage, JSONtoString(name), JSONtoString(value));	   
   }
   xPL_sendMessage(xplMessage);
//   xPL_processMessages(0);
	return 0;  
}       
コード例 #2
0
ファイル: Login.c プロジェクト: rishabt/COMP206_FinalProject
int main(void)
{
	    char *lenstr;
	    char input[MAXINPUT], data[MAXINPUT];
	    long len;
	    const char* uname;

	    printf("%s%c%c\n",
			    "Content-Type:text/html;charset=iso-8859-1",13,10);
	    printf("<TITLE>Response</TITLE>\n");

	    lenstr = getenv("CONTENT_LENGTH");
	    if(lenstr == NULL || sscanf(lenstr,"%ld",&len)!=1 || len > MAXLEN)
		      printf("<P>Error in invocation - wrong FORM probably.");
	    else {
		fgets(input, len+1, stdin);
		unencode(input+EXTRA, input+len, data);
		const char* in_pass = getfield(&data[0], 3);
		const char* in_user = getfield(&data[0], 1);
		uname = in_user;
		int found = 0;

		FILE* file = fopen(DATAFILE, "r");
		char line[256];
            	while (fgets(line, sizeof(line), file)) {

			char* tmp1 = strdup(line);
			const char* pass = getfield(line, 3);

			const char* user = getfield(tmp1, 2);

			if(strcmp(user, in_user) == 0){
				if(strcmp(pass, in_pass) == 0){
					found = 1;
					break;
				}
			}
	    	}

		fclose(file);

		if(found == 1){
			printf("<p>Logged in!");
			printf("<form action=\"http://cgi.cs.mcgill.ca/~rtando1/cgi-bin/MyFacebookPage.py\" METHOD=\"POST\"><input type=\"hidden\" name=\"username\" value=\"%s\"><INPUT TYPE=\"SUBMIT\" VALUE=\"Go to your profile\" NAME=\"pass\"></form>", uname);	
		}
	    }

            return 0;
}
コード例 #3
0
ファイル: versand.c プロジェクト: richardtraindl/versand
//**********************************************************************************
	int parse_data_from_input(char *_data, char (*_params)[256]){
		char *token;
		int count, len;

		count = 0;
		token = strtok(_data, "&");
		while(token != NULL){
			len = strlen(token);
			unencode(token, token + len + 1, *(_params + count));
			// strcpy(*(_params + count), token);
			count++;
			token = strtok(NULL, "&");
		}		

		return count;
	}
コード例 #4
0
ファイル: democlient.cpp プロジェクト: kimmov/cppcheck
int main()
{
    const char *lenstr = getenv("CONTENT_LENGTH");
    char data[4096] = {0};
    int len = std::min(1 + atoi(lenstr), (int)(sizeof(data) - 2));
    fgets(data, len, stdin);

    char code[4096] = {0};
    unencode(data, code);

    printf("Content-type: text/plain\n\n");

    CppcheckExecutor cppcheckExecutor;
    cppcheckExecutor.run(code);

    return EXIT_SUCCESS;
}
コード例 #5
0
ファイル: HTTPlib.cpp プロジェクト: kstirben/Data-Streams
char* HTTP::getVal(char* name,char* ini,char* end)
{
	 char* c;
	 int len,lenv;
	 if (*ini==0) ini++;
	 if (*end==0) end--;
	 c=ini;
	 while(c<=end)
	 {
		 if(*c=='=') 
		 {
			 len=c-ini;
			 if (strlen(name)!=len) return NULL;
			 if(memcmp(name,ini,len)!=0) return NULL;
			 lenv=end-c;
			 return unencode(++c,lenv);
		 }
         c++;
	 }
	 return NULL;
}
コード例 #6
0
ファイル: unencodeTest.c プロジェクト: dellsystem/comp206
int main(void){
	char * unencoded = (char *) malloc (100);
	unencode("login?user=bob+smith&pass=abc", '\0', unencoded);
	printf("%s", unencoded);
	return 0;
}