Alternative Download-Methode?

Hallo,

ich schlage mich schon seit ein paar Monaten mit der fehlerhaften URLDownloadToFile-Funktion herum: auß irgendeinem Grund lädt sie nur manchmal die Dateien herunter (wann das ist weiß ich net), manchmal passiert aber einfach nichts. Es wird noch nicht einmal bei der Firewall ein Zugriff erfragt. Ich habe auch schon den Parameter geändert der die Fkt dazu zwingt die Daten immer neu runterzuladen, gebracht hats aber nix. Ich habe schon ein paar alternative Downloadmethoden ausprobiert, bisher aber keine richtig funktionierende gefunden.

Deshalb wollte ich mal fragen, ob einer noch eine andere Möglichkeit kennt, Seiten aus dem Web runterzuladen. Da mein Programm Aktienkurse aufzeichnet sollte diese Seite (Kurs der IDS AG) auf jeden fall heruntergeladen werden können:

http://de.finance.yahoo.com/q?s=IDRG.DE&d=t

Die meisten Funktionen konnten normale http-Seiten runterladen, diese aber nicht.

mfg
Raber

Hallo Raber,

Private Sub Donload()
MousePointer = vbHourglass
DoEvents
Winsock1.RemoteHost = „StammURL.de
Winsock1.RemotePort = 80 ’ es handelt sich ja um ein Http Download?
Winsock1.Connect
End Sub

Private Sub Winsock1_Close()
MousePointer = vbDefault
End Sub

Private Sub Winsock1_Connect()
Dim Cmd$, URL$
URL = „Pfad zum File was heruntergeladen werden soll“
Cmd = „GET " & URL & " HTTP/1.0“ & vbCrLf & „Accept: */*“ & _
vbCrLf & „Accept: text/html“ & vbCrLf & vbCrLf
Winsock1.SendData Cmd
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Data$
Winsock1.GetData Data, vbString
Text1.Text = Text1.Text & Data 'In Data sind die Daten
End Sub

MFG Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

irgendwie hat das mit der Funktion nicht geklappt. Nachdem ich die Donload-Funktion mit Stammurl"http://de.finance.yahoo.com" und URL „http://de.finance.yahoo.com/q?s=IDRG.DE&d=t“ ausgeführt habe war trotzdem nichts im Textfeld, er lädt ewig was.
Vielleicht liegts aber auch anden falschen Argumenten. Wäre gut wenn du mal einen Beispielaufruf machen könntest.

mfg
Raber

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Rabber,

nein das passt schon soweit alles. Ich habe es gerade eben ausprobiert und volla es ging :smile:
Dein Fehler lag wie du schon vermutest hast an der StammUrl.
Du musst dafür de.yahoo.com angeben, dann sollte es gehen :smile:
Ich habe dir vorhin ein Bsp. Projekt mal geschickt. Darin entghalten ist der Aufruf. Den eigentlichen Download habe ich dir als active dll gebastelt und dir mitgeschickt. Du kannst diese Dll in jeden weiteren progg benutzen. Dabei wird die Stammurl aus der Url zum download des Files ausgelesen. Somit hast du damit keinen Aerger mehr :smile:

So nun aber noch ein kleines Bsp :wink:

Private Sub Command1_Click()
MousePointer = vbHourglass
DoEvents
Winsock1.LocalPort = 0
Winsock1.RemotePort = 80
Winsock1.Connect „de.finance.yahoo.com
End Sub

Private Sub Winsock1_Close()
MousePointer = vbDefault
End Sub

Private Sub Winsock1_Connect()
Dim Cmd$, URL$
URL = „http://de.finance.yahoo.com/q?s=IDRG.DE&d=t
Cmd = „GET " & URL & " HTTP/1.0“ & vbCrLf & „Accept: */*“ & _
vbCrLf & „Accept: text/html“ & vbCrLf & vbCrLf
Winsock1.SendData Cmd
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Data$
Winsock1.GetData Data, vbString
Text1.Text = Text1.Text & Data
End Sub

MFG Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

ich hab das Beispielprojekt bekommen, leider funktioniert die ActiveX-Komponente nicht. Immer wenn ich sie einfüge kommt „[Pfad]/classfiledownload.dll konnte nicht geladen werden“. Hast warscheinlich ne Datei vergessen mitzuschicken.
Bei dem Quelltext den ich aus dem Posting rauskopiert hat es dann aber endlich funktioniert, wo die UrlDownloadTofile versagt hat!
Kannst ja die fehlenden Sachen nachschicken.
Ansonsten schonmal danke für die Hilfe!

mfg
Raber

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Rabber,

Mail ist raus :smile:

MFG Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]