WinHttpReceiveResponse



  • Hab ein Problem mit der Funktion WinHttpReceiveResponse... ich bekomm einfach keine Antwort zurück. Liegt vielleicht an dem was ich zum Server schicke.
    Wenn man halt auf http://fbspreader.funpic.de geht und dort "1234-ABCD-1234-ABCD-1234" einträgt, dann bekommt man ein GUID zurück, das will ich mit WinHttp realisieren.
    Hier ist erstmal der Codeauschnitt:

    HINTERNET hOpen, hConnect, hOpenRequest;
    
    std::string szOptional = "key=1234-ABCD-1234-ABCD-1234&submit=submit";
    std::string szData;
    
    DWORD dwContext = 0;
    DWORD dwAmmountToRead = 0;
    DWORD dwAmmountRead = 0;
    
    hOpen = WinHttpOpen(L"", WINHTTP_ACCESS_TYPE_NO_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, WINHTTP_FLAG_ASYNC);
    if(hOpen == NULL)
    {
    	cerr << "WinHttpOpen Errorcode: " << GetLastError() << endl;
    }
    hConnect = WinHttpConnect(hOpen, L"fbspreader.fb.funpic.de", INTERNET_DEFAULT_HTTP_PORT, 0);
    if(hConnect == NULL)
    {
    	cerr << "WinHttpConnect Errorcode: " << GetLastError() << endl;
    }
    hOpenRequest = WinHttpOpenRequest(hConnect, L"POST", L"/client.php", NULL, L"http://fbspreader.funpic.de/", WINHTTP_DEFAULT_ACCEPT_TYPES, 0);
    if(hOpenRequest == NULL)
    {
    	cerr << "WinHttpOpenRequest Errorcode: " << GetLastError() << endl;
    }
    if(WinHttpSendRequest(hOpenRequest, L"Content-Type: application/x-www-form-urlencoded", -1L, &szOptional, szOptional.length(), szOptional.length() + 49, dwContext) == FALSE)
    {
    	cerr << "WinHttpSendRequest Errorcode: " << GetLastError() << endl;
    }
    if(WinHttpReceiveResponse(hOpenRequest, NULL) == FALSE)
    {
    	cerr << "WinHttpReceiveResponse Errorcode: " << GetLastError() << endl;
    }
    if(WinHttpQueryDataAvailable(hOpenRequest, &dwAmmountToRead) == FALSE)
    {
    	cerr << "WinHttpQueryDataAvailable Errorcode: " << GetLastError() << endl;
    }
    if(WinHttpReadData(hOpenRequest, &szData, dwAmmountToRead, &dwAmmountRead) == FALSE)
    {
    	cerr << "WinHttpReadData Errorcode: " << GetLastError() << endl;
    }
    cout << szData.c_str() << endl;
    

    Nach dem man etwas gewartet hat und dann letztendlich nichts zurück bekommt, werden diese Fehler ausgegeben:
    WinHttpReceiveResponse Errorcode: 12002
    WinHttpQueryDataAvailable Errorcode: 12019



  • Konnte immer noch nicht den Fehler finden, sollte ich vielleicht in meinem PHP Script Post zu Get ändern?


Log in to reply