HTTP Request



  • Hi ich hab da ein Problem 🙂

    if(hData = HttpOpenRequest( hInetCon, "GET", "/index.php",
    			                              0, 0, 0, 0, 0 ))
    			  HttpSendRequest( hData, NULL, 0, NULL, 0);
    			  if( InternetReadFile( hData, cData, 255, &dwRead ) )
    			  {
    				  cout << "Successufully read " << dwRead << " bytes!" << endl;
    				  cData[dwRead] = '\0';
    				  printf("%s\n",cData);
    			  }
    

    So sollte das eigentlich funktionieren...... tut es aber leider nicht,
    denn egal was ich ich bei HttpOpenRequest als dritten Parameter (hier "/index.php") nehme der HTTP Sniffer sagt immer:

    GET / HTTP/1.1
    User-Agent: myApp
    Host: www.xyz.com
    Cache-Control: no-cache
    Cookie: PREF=ID=a5dbfc9fb2f1ec06:TM=1156272293:LM=1156272293:S=LjXbV2hwKf4Rb2-V
    

    Also klappt das mit dem get request nicht...
    Zu allem Überfluss kommt noch dazu dass wenn ich statt "GET" "POST" nehme, der request immernoch "GET" bleibt

    Ausgabe deshalb immer:

    Successufully read 0 bytes:
    

    Ich hoffe ihr könnt mir helfen, danke



  • hi,
    guck dir mal das beispiel an: http://www.vorlesungen.uos.de/informatik/winnt00/Aufgaben/uebung/Blatt10/fetch.c
    vielleicht muss auch nur der slash in dem "/index.php" wech 😉
    :xmas2:



  • ten schrieb:

    vielleicht muss auch nur der slash in dem "/index.php" wech 😉

    nope, das klappt auch nicht

    ten schrieb:

    guck dir mal das beispiel an

    Jetzt ist mein Code so

    unsigned long flags;		/* Flaggen fuer HttpOpenRequest */
    	flags = INTERNET_FLAG_NO_AUTH | INTERNET_FLAG_NO_AUTO_REDIRECT |
    	    INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_NO_COOKIES |
    	    INTERNET_FLAG_RELOAD;
    if(hData = HttpOpenRequest( hInetCon, "GET", "index.php",
    			                              "HTTP/1.0", 0, 0, flags, 0 ))
    			  HttpSendRequest( hData, NULL, 0, NULL, 0);
    			  if( InternetReadFile( hData, cData, 255, &dwRead ) )
    			  {
    				  cout << "Successufully read " << dwRead << " bytes!" << endl;
    				  cData[dwRead] = '\0';
    				  printf("%s\n",cData);
    			  }
    

    Bringt aber garnix,
    er sendet immernoch immer den gleichen Schei**
    Immer einfach nur GET "/"...

    Aber Danke trozdem



  • Niemand? 😕



  • hast du vielleicht was mit den strings verwurschtelt? ich meine, vielleicht ist dein projekt auf 'unicode' eingestellt und du benutzt ansi/ascii strings?



  • ten schrieb:

    hast du vielleicht was mit den strings verwurschtelt? ich meine, vielleicht ist dein projekt auf 'unicode' eingestellt und du benutzt ansi/ascii strings?

    Hab 'Use Multi-Byte Character Set' :-$
    Folgendes funktioniert komischerweise:

    {
    				    cout << "Download of google.com successufull..." << endl;
    					cout << "Successufully read " << dwLen << " bytes!" << endl;
    					cout << "The following was read:" << endl;
    
                        cData[dwLen+1] = '\0';
                        printf("%s\n",cData);
                   }
    

    Aber das ist ja nicht das was ich will...
    So kriege ich jetzt den Quelltext von Google angezeigt 🙂


Anmelden zum Antworten