POST DATA WEBBROWSER (HTTP-Fileupload)



  • Hallo!

    Ich versuche schon seit Tagen es hinzubekommen per http-post einen Fileupload zu initieren. Gegenstelle ist ein PHP-Skript. Ich habe mal ein kleines Stück Source Code angehängt. Merkwürdigerweise sagt mir das Script immer das schon eine solche Datei auf dem Webserver existiert, was aber ncht stimmt. Mit einem VBS-Skript habe ich den Upload schon hinbekommen. Evtl. findet ja der eine oder andere den Fehler oder kann mir weiterhelfen. Vielen Dank!

    VARIANT vFlags = {0},
    vTargetFrameName = {0},
    vPostData = {0},
    vHeaders = {0};
    
    bstrURL = SysAllocString(L"http://www.XYZ.de/updown.php?action=doupload");
    
    LPSTR dataS;
    
    dataS = (LPSTR)
    		"---2\r\n"
    		"Content-Disposition: form-data; name=\"file\"; filename=\"c:\\boot.ini\\\"\r\n"
    		"Content-Type: application/upload\r\n\r\n"
    		"TEST123\r\n\r\n"
    
    		"---2--\r\n";
    
    int len = strlen(dataS);
    
    char* data = new char[len];
    
    bstrHeaders = SysAllocString(
    
    		L"Content-Type: multipart/form-data; boundary=-2\r\n");
    
    V_VT(&vHeaders) = VT_BSTR;
    V_BSTR(&vHeaders) = bstrHeaders;
    
    memcpy(data, dataS, len);
    
    LPSAFEARRAY psa = SafeArrayCreateVector(VT_UI1, 0, len);
    
    LPSTR pPostData;
    HRESULT hr=SafeArrayAccessData(psa, (LPVOID*)&pPostData);
    memcpy(pPostData,data,len);
    hr = SafeArrayUnaccessData(psa);
    
    V_VT(&vPostData) = VT_ARRAY | VT_UI1;
    V_ARRAY(&vPostData) = psa;         
    
    hr = m_pWebBrowser2->Navigate(bstrURL, &vFlags, &vTargetFrameName, &vPostData, &vHeaders);
    

    Gruß

    KMB



  • Keiner einer Idee?


Anmelden zum Antworten