HTML-Download in c++ / Probs mit codeproject.com

1. Ich suche z.b., eine Funktion, die es mir erlaubt, dateien über HTTP in C++ runterzuladen, und es sollte net gerade spezialisiert sein auf VisualStudio (geht auch, is aber halt net so gut).
2. Habe ich probleme mit codeproject.com: alle downloads haben bei mir eine Geschwindigkeit zwischen 8kb/s und 0,5 kbs.
 
Also nett wäre es, wenn Du uns mal Dein OS (=Operating System) sagen würdest. Bei Linux würde ich in der Console mir die .c-Files per "wget" ziehen. Oder was meinst Du genau?

rushjo

P.S. Also besonders schnell sind deren Server so oder so nicht. Ansonsten lassen sich unter Linux Files wie FileFindEx sehr gut per "wget" ziehen.
 
1. Hab (leider?) WinXP
2. problem hat sich erledigt, jetz downloadet er es wenigstens mit 30kb/s, nachdem mein vater aufhörte dauernd internetradio zu hören :)
 
Tja, manchmal ist die Lösung des Problems so nah.... :-)

rushjo
 
Also, falls mal jemadn was finden sollte mit http-download unter win, bitte posten. es eilt nicht, währe jedoch auch nicht schlecht. Gute nacht noch an alle heute!
 
CDW, dein Posting im forum von xonio.com hat mich interresiert, aber leider gibts die datei GetHttpFile.zip nimma auf deinem webspace
 
hmm, kan zwar jetz was runterladen, aber des is ne 1,9kb große .zip datei, die aber im editor angesehen nur html code enthält
 
einen seltsamen Browser/Downloadmanager hast Du da ;). Bei mir geht es mit "draufklicken" und "saveLinkAs".
aber nochmal als Dateianhang
 
Danke! Es kommt zwar beim ausführen nen Fehler, aber der lässt sich wegklicken und de prog läuft dann weiter, wollte dich aber trozdem mal auf die Fehlermeldung aufmercksam machen:

Code:
Informationen über das Aufrufen von JIT-Debuggen
finden Sie am Ende dieser Meldung, anstatt in diesem Dialogfeld.

************** Ausnametext **************
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   at GetHttpFile(SByte* , SByte* , Boolean )
   at Formstest1.Form1.button1_Click_2(Object sender, EventArgs e) in c:\dokumente und einstellungen\quirl\eigene dateien\visual studio projects\formstest1\form1.h:line 371
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Geladene Assemblys **************
mscorlib
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.2032
    CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
Formstest1
    Assembly-Version: 1.0.2105.34780
    Win32-Version: 
    CodeBase: file:///C:/Dokumente%20und%20Einstellungen/Quirl/Eigene%20Dateien/Visual%20Studio%20Projects/Formstest1/Debug/Formstest1.exe
----------------------------------------
System.Windows.Forms
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.2032
    CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.2032
    CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.2032
    CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
Formstest1.resources
    Assembly-Version: 1.0.2105.34780
    Win32-Version: 1.0.2105.34780
    CodeBase: file:///C:/Dokumente%20und%20Einstellungen/Quirl/Eigene%20Dateien/Visual%20Studio%20Projects/Formstest1/Debug/de-DE/Formstest1.resources.DLL
----------------------------------------
Formstest1.resources
    Assembly-Version: 1.0.2105.34780
    Win32-Version: 1.0.2105.34780
    CodeBase: file:///C:/Dokumente%20und%20Einstellungen/Quirl/Eigene%20Dateien/Visual%20Studio%20Projects/Formstest1/Debug/de/Formstest1.resources.DLL
----------------------------------------
System.Xml
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.2032
    CodeBase: file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------
mscorlib.resources
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.573
    CodeBase: file:///c:/windows/assembly/gac/mscorlib.resources/1.0.5000.0_de_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.573
    CodeBase: file:///c:/windows/assembly/gac/system.windows.forms.resources/1.0.5000.0_de_b77a5c561934e089/system.windows.forms.resources.dll
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht von diesem Dialogfeld behandelt.
 
Und wieder was dazugelernt: ich weiß zwar nicht so recht mit der Fehlermeldung anzufangen, glaube aber, dass es an meiner Beschreibung liegt: und zwar ist Boolean in Wirklichkeit (so wie die Funktion es erwartet) ein DWORD Wert (AFAIK also Integer) eben mit 1 und 0.
Es kann natürlich auch sein, dass anstatt dem String ein Nullpointer übergeben wird, bei solchen Sachen wird dann ein Fehlerwert zurückgegeben:
ERROR_ALLOC equ 1
ERROR_THREAD equ 2
ERROR_WSA_STARTUP equ 3
ERROR_HOSTNAME_TOOLARGE equ 4
ERROR_INVALID_URL equ 5
ERROR_URL_PATH_TO_LARGE equ 6
ERROR_INVALID_HOST equ 7
ERROR_CONNECTION equ 8
ERROR_SAVE_FILE_CREATION equ 9
ERROR_SOCKET equ 10
ERROR_NO_DATA_AVIABLE equ 11
ERROR_NO_PARAMETERS equ 12
Oder das Ganze ist noch simpler: falls Dein Compiler nicht von MS stammt, dann akzeptiert er die Lib sehr wahrscheinlich nicht. (vielleicht deswegen auch eine System.NullReferenceException - es gibt kene Referenz auf die Funktion, die ist zwar Deklariert, aber der Linker konnte sie nicht einfügen)
Häufig liegen aber Tools bei, um "MS-Libformat" zu konvertieren. Oder man importiert die Funktion über LoadDLL,GetProcAddress.
Brauchst Dich aber nicht wirklich damit abzumühen - Du hast ja schon eine funktionierende Lösung. (und danke für das "testen"
Ist natürlich Schade dass die DLL nicht läuft.
 
Zurück
Oben