Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
SvenStueck
Anmeldungsdatum: 12.05.2005 Beiträge: 58
|
Verfasst am: 08.01.2008, 18:50 Titel: URLDownloadToFile aus SUB aufrufen !? |
|
|
Hallo!
Ich habe da eine kleines Problem mit dem Code aus den Beispielen.
Und zwar weiss ich nicht, wie ich den in mein Programm so reinklopfen
kann, dass ich die Funktion aus einer Sub heraus aufrufen kann
Gibt es eigentlich auch eine Funktion, HTML-Seiten in eine Variable zu
speichern, um dann Information draus zu extrahieren? Bei meinem Prog
muss ich nämlich aus 50Seiten Infos Extrahieren, und die ewigen HDD-Zugriffe behagen mir nicht so...
Um Folgenden Beispielcode handelt es sich:
Code: |
Dim URLDownloadToFile as function ( _
ByVal pCaller As Long, _
ByVal szURL As zString ptr, _
ByVal szFileName As zString ptr, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long) As Long
Dim lR As Long
Dim sURL As String
Dim sFile As String
Dim library As Any Ptr
library=dylibload( "urlmon.dll" )
URLDownloadToFile=dylibsymbol(library, "URLDownloadToFileA" )
sURL = "http://www.freebasic-portal.de/index.php"
sFile = "C:\test.htm"
lR = URLDownloadToFile(0, sURL, sFile, 0, 0)
If lR = 0 Then
Print "Download erfolgreich!"
Else
Print "Fehler beim Download!"
End If |
 |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
|
Nach oben |
|
 |
SvenStueck
Anmeldungsdatum: 12.05.2005 Beiträge: 58
|
Verfasst am: 08.01.2008, 19:00 Titel: |
|
|
Theoretisch ja, hab ich mir auch schon angeschaut!
allerdings läuft das hier bei mir nicht.
Schätze, weil wir über nen Proxy rausgehen, was beim URLDownloadToFile
komischerweise nix ausmacht...
-> "couldn't connect to host" bringt er da 
Zuletzt bearbeitet von SvenStueck am 08.01.2008, 19:01, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 08.01.2008, 19:00 Titel: |
|
|
URLDownloadToFile verwendet die von windows vorgegeben einwahloptionen, wäre also kein wunder  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 08.01.2008, 20:05 Titel: |
|
|
Mhm bei Gelegenheit sollt ich das mal ändern  |
|
Nach oben |
|
 |
SvenStueck
Anmeldungsdatum: 12.05.2005 Beiträge: 58
|
Verfasst am: 08.01.2008, 20:17 Titel: |
|
|
Was denn ändern? |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 08.01.2008, 21:39 Titel: |
|
|
Den Eintrag da, ist egtl ganz simpel, das um nen Proxyserver zu ergänzen.
Allerdings würde sich das dann auch in der Syntax ändern, und du musst deinen Proxy kennen, sonst wirds nix.
Dann baut die Sub eine Verbindugn zum Proxy an, übergibt ihr einen Header á la
Code: | GET /pfad HTTP/1.0
Host: <Der-gewünschte-Server>
Connection: close |
Ich mach das einfach mal
Kann das aber hier nich testen, hab keinen Proxyserver, musst du als Opfer her
-- edit --
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=402
Bitte testen.
Syntax ist doch gleichgeblieben, aber du musst, bevor du httpget() oder httppost() nutzt, erst den Proxy festlegen:
Code: |
proxy = "www.meinproxy.nett"
'falls der Port des HTTP-Proxys != 8080 ist, musst du auch noch
'proxyport = <was auch immer>
'einsetzen
| [/code]
Zuletzt bearbeitet von PMedia am 08.01.2008, 21:43, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
SvenStueck
Anmeldungsdatum: 12.05.2005 Beiträge: 58
|
Verfasst am: 08.01.2008, 21:42 Titel: |
|
|
Na das wär ja hervorragend
Meinen (bzw. den in der Arbeit) proxy kenn ich...
über proxyconf kann man es nich machen, hmm?
Als Versuchskaninchen bin ich immer zu haben  |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 08.01.2008, 21:44 Titel: |
|
|
Nein, Systemdaten kann ich nich auslesen, dafür funzt die Lösung aber auch unter Win und Lin
Siehe Edit |
|
Nach oben |
|
 |
SvenStueck
Anmeldungsdatum: 12.05.2005 Beiträge: 58
|
Verfasst am: 08.01.2008, 22:12 Titel: |
|
|
hmm, geht net...
der bringt jetzt "ip couldn't be resolved"
kann des damit zusammenhängen, dass wir in der arbeit
übers Intranet auf den proxy zugreifen?
ich geb im firefox z.b. quasi "proxy.blabla.blabla.com" ein... ohne http
EDIT: Blödsinn, "couldn't connect to host" bringt er! hab vorher an falschen proxy genommen!
Zuletzt bearbeitet von SvenStueck am 08.01.2008, 22:27, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
SvenStueck
Anmeldungsdatum: 12.05.2005 Beiträge: 58
|
Verfasst am: 08.01.2008, 22:18 Titel: |
|
|
ein bekannter meint grad, dass es sein kann, dass das des proxy keine HTTP 1.0 anfragen mehr erlaubt... |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 08.01.2008, 22:39 Titel: |
|
|
hm gut, das kann sein. Es kann auch sein, dass ich lediglich irgendwo nen Fehler drin hab.
Mal jetz trotz aller RFCs, tausch mal die beiden "HTTP/1.0" durch "HTTP/1.1" aus... |
|
Nach oben |
|
 |
SvenStueck
Anmeldungsdatum: 12.05.2005 Beiträge: 58
|
Verfasst am: 08.01.2008, 22:52 Titel: |
|
|
Geht leider auch nicht
Wie inzwischen gewohnt: "Couldn't connect to host"  |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 09.01.2008, 00:03 Titel: |
|
|
Hm schade, dann kann ich dir auch nicht weiterhelfen...  |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 09.01.2008, 06:49 Titel: |
|
|
Natürlich geht das nicht ...
@PM... wenn du über einen Proxy eine anfrage senden willst, kannst du nicht einfach den Proxy dort eintragen.
Mal zum verständnis der Technik.
Ein Proxy oder ein Socks sind Server/Client kombinationen die dafür sorgen, das man ins Internet kommt, wenn kein direkter zugang zu diesem besteht. (auch üfr andere dinge nützlich).
Das Prinzip dahinter ist einfach.
Computer A, der ins Internet möchte, verbindet sich mit dem Proxy auf Computer B. Dann sendet Computer A an B das er gerne eine verbindugn mit Computer C (im internet) herstellen möchte. Daraufhin baut B eine verbindugn mit C auf. Wenn diese Verbindung bestehtsendet B an A das die "Brücke" besteht, und er die Daten senden darf. Daraufhin schickt A an B die anfrage, welche B an C weiter vermittelt. Die Rückgabe von C wandert an B und von B nach A.
Folglich kann man nicht einfach den Proxy als Anfragehost eintragen, da sonst die Anfrage selbst an B geleitet wird, udn nicht an C. Da der Proxy jedoch nur eine Brücke ist, kann er damit natürlich rein garnichts anfangen und erzeugt einen Fehler. Darum gibt es eien Syntax die man einhalten muss.
Je nachdem welche art von Bridge (Brücke) es ist (Proxy / Socks) gibt es unterschiedliche Methoden die Brücke zu steuern.
Die folgenden Beispiele sind zwar in VisualBasic, jedoch leicht zu FB portieren.
Einmal um über eien PROXY (HTTP) zu verbinden:
http://www.activevb.de/tipps/vb6tipps/tipp0546.html
Und einmal über eine SOCKS4:
http://www.activevb.de/tipps/vb6tipps/tipp0564.html
Beide Tips lassen sich einfach anwenden, z.B. mit der TSNE_V2.bi
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=389
was dann so aussehen würde:
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=404
Den aufbau des SOCKS request erspar ich mich jetzt mal, ich glaube nämlichnicht, das du eien SOCKS server betreibst. Wenn doch, dnan sollte das Protieren auch nicht weiter schwer sein. Ein Socks arbeite etwas anders, aber auch nicht weiter wild. Ein Socks kann z.B. auch andere Anfragen verwalten, und nicht nur HTTP requests, was nur HTTP_PROXYs können. Es gibt auch FTP_PROXYs, aber diese PROXYs sidn meist nur für ein protokoll nütlich. SOCKS hingegen können jedes Protokoll verarbeiten, welche dadurch auch eine andere ablaufsteuerung brauchen.
[EDIT]
@SvenStueck ... Kanst du den Administrator von eurer Firma mal fragen, was für eine art von Proxy das ist? .. HTTP_Proxy, SOCKS, usw.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
SvenStueck
Anmeldungsdatum: 12.05.2005 Beiträge: 58
|
Verfasst am: 09.01.2008, 17:01 Titel: |
|
|
Ohje, jetzt wirds aber langsam kompliziert
@PuppetMaster: Isn Http Proxy! |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 09.01.2008, 18:05 Titel: |
|
|
Dann sollte das oben angegebene Beispiel funktionieren.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
SvenStueck
Anmeldungsdatum: 12.05.2005 Beiträge: 58
|
Verfasst am: 09.01.2008, 21:14 Titel: |
|
|
Das klappt leider auch nicht.
bleibt bei "sende Anfrage" hängen!
nicht, dass die http1.0 Anfragen tatsächlich gesperrt haben...
seit kurzem hams uns ja auch icq gekappt  |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 09.01.2008, 22:19 Titel: |
|
|
dann solltest dich auf jeden fall mal beim Admin informieren. Vorallem, was genau das für ein PROXY ist ...
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
SvenStueck
Anmeldungsdatum: 12.05.2005 Beiträge: 58
|
Verfasst am: 10.01.2008, 19:24 Titel: |
|
|
Hmm, besser nicht... des mit dem Internet ist bei uns
eher...
Wie auch immer! Zumindestens dass URLDonwloadToFile geht jetzt
wieder. Bzw. ist die ganze Zeit gegange... is ne längere Geschichte
Aber die anderen Beispiele von euch wären natürlich viel interessanter!
Muss ich mal daheim testen! |
|
Nach oben |
|
 |
|