Per GET Daten übergeben



  • Abend,
    ich habe auf meinem Space ne PHP Datei die bestimmte Daten per GET benötigt....
    Wie kann ich den dem Script die Daten übergeben? Also wie muss ich des in C anstellen?



  • Bei GET hängst du die Daten einfach als Parameter an die URL an. Ich würde dir aber empfehlen die Daten vorher zu enkodieren (z.B. per Base64 - sonst gibts böse Überraschungen) - falls es benutzerdefinierte Zeichenketten sind.

    Übergeben wird bei der Anfrage an den Server:

    GET /meineUrl?variable=Meine_Daten_Hier
    

    oder als Code...

    char buffer[1024];
    
    snprintf(buffer, sizeof(buffer), "GET /meinscript.php?variable=%s\r\nHost: meinhost.de\r\n\r\n",
        daten_hier);
    
    write(socket, buffer, sizeof(buffer));
    


  • Habe jetzt mal die HttpOpenRequest() Funktion gefunden.
    Wäre diese Funktion nicht sinnvoller anstatt das alles mit Sockets zu machen?



  • Habe es jetzt mal so probiert:

    char server[] = "meinserver.de";
     char file[] = "send.php";
    
      sprintf(buf,"GET /send.php?file=test1.txt&daten=test\r\n HTTP/1.1\r\nAccept: */*\r\nUser-Agent: Program\r\nHost: %s\r\nConnection: Keep-Alive\r\n\r\n",file,server);
    


  • Sry meinte so:

    char server[] = "meinserver.de";
     char file[] = "send.php";
    
      sprintf(buf,"GET /%s?file=test1.txt&daten=test\r\n HTTP/1.1\r\nAccept: */*\r\nUser-Agent: Program\r\nHost: %s\r\nConnection: Keep-Alive\r\n\r\n",file,server);
    


  • Habe es jetzt mal so probiert:

    int main()  {
      HINTERNET h,hConnect,hReq;
      char server[] = "meinserver.de";
    
           h = InternetOpen("Program",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
    	     if(h == 0)
    			 return 1;
    
    		   hConnect =  InternetConnect(h,server,INTERNET_DEFAULT_HTTP_PORT,NULL,NULL,INTERNET_SERVICE_HTTP,0,0);
    		      if(hConnect == 0)
    				  return 1;
    
    			      hReq = HttpOpenRequest(hConnect,NULL,"send.php?file=test1.txt&daten=TEST",NULL,NULL,NULL,0,0);
    				   if(hReq == 0)
    					   return 1;
    

    wo ist in dem Code mein Fehler?


Anmelden zum Antworten