Datei mit c++ an Webbrowser sende (POST)



  • heini schrieb:

    Dateien werden also -- wie bei Emails auch -- per Base64 komprimiert.

    Base64 ist ganz sicher keine Kompression, das Gegenteil ist schon eher der Fall. 🤡



  • Wie dem auch sei. Jedenfalls werden sie per Base64 bearbeitet und in die Header eingepflegt. Er braucht hier also eine Base64-Implementierung fuer C++ oder fuer welche Sprache er sich auch immer entscheiden wird.



  • heini schrieb:

    Wie dem auch sei. Jedenfalls werden sie per Base64 bearbeitet und in die Header eingepflegt. Er braucht hier also eine Base64-Implementierung fuer C++ oder fuer welche Sprache er sich auch immer entscheiden wird.

    Das ist falsch, weder werden die Dateien im Header übertragen noch Base64 kodiert.



  • Benutz doch einfach libcurl, dann brauchst dich nicht mit dem http Protokoll rumschlagen.



  • BierzeltOmi schrieb:

    Das ist falsch, weder werden die Dateien im Header übertragen noch Base64 kodiert.

    Wird aber im Beispiel so gemacht. Was waere denn deiner Meinung nach richtig?



  • Schreib bloß nicht deine eigene HTTP-Implementierung. Das ist ein schöner weg auf die Schnauze zu fallen. Vorallem wenn man wenig Erfahrung in dem Bereich hat. Zumindest sollte man die HTTP/1.1-RFC gründlich lesen. Aber idealerweise nimmt man eine fertige Implementierung wie libcurl!



  • heini schrieb:

    BierzeltOmi schrieb:

    Das ist falsch, weder werden die Dateien im Header übertragen noch Base64 kodiert.

    Wird aber im Beispiel so gemacht. Was waere denn deiner Meinung nach richtig?

    In welchem? In dem Java Beispiel von dir jedenfalls nicht.

    Scorcher24 hat natürlich trotzdem recht, nimm curl.



  • heini schrieb:

    Hier mal ein Python-Beispiel: stackoverflow.com

    Aber sie werden nicht komprimiert, sondern kodiert 🙂



  • Das einzige was bei HTTP Base64 codiert wird ist username und password für Basic Auth (GET). Sonst nix.



  • hm, is ja super das ihr mir alle helfen wollt, aber irgendwie kommt ich nicht weiter. 😞

    Gibt es vielleicht ein Beispiel für die Verwendung von libcurl, an dem ich mich orientieren kann?

    gruss



  • tecni schrieb:

    hm, is ja super das ihr mir alle helfen wollt, aber irgendwie kommt ich nicht weiter. 😞

    Gibt es vielleicht ein Beispiel für die Verwendung von libcurl, an dem ich mich orientieren kann?

    gruss

    http://curl.haxx.se/libcurl/c/libcurl-tutorial.html

    Fürs Guttenberg Pattern:

    //////////////////////////////////////////////////////////////////////////
    // Curl Callback
    static size_t my_curl_write( void *ptr, size_t size, size_t nmemb, void *f)
    {
            if ( ptr != NULL )
            {
                    Mainframe* frame = static_cast<Mainframe*>(f);
                    wxString b((char*)ptr);
                    frame->TellVersion(b);
            }
            return size*nmemb;;
    }
    
    void Mainframe::OnCheckVersion( wxCommandEvent& )
    {       
            CURL* curl = curl_easy_init();
            curl_easy_setopt(curl, CURLOPT_URL, "http://awesomescript.googlecode.com/svn/trunk/ass_version.txt");
            curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_curl_write);
            curl_easy_setopt(curl, CURLOPT_WRITEDATA, this);
            if ( curl_easy_perform(curl) != CURLE_OK ) 
            {
                    wxErrorBox(_("Could not connect to server. Please check Firewall or try later."), this);
            }
            curl_easy_cleanup(curl);        
    }
    

    Quelle


Anmelden zum Antworten