Seite 1 von 1

ReceiveHTTPFile - Passwortgeschützt? [gelöst]

Verfasst: 09.06.2008 13:32
von gekkonier
Hi Leute, ich habe eine Passwortgeschützte Webcam, und von dieser möchte ich nun regelmässig Bilder ziehen und in eine Datenbank speichern!
Die URL zum Ansteuern sieht so aus:

http://User:Passwort@meineipcam.tintifax.com/IMAGE.JPG

Also so ähnlich halt, ich habe nur für das Forum die Url, User und Pass abgeändert.
Wenn ich diese URL in den Internetexplorer, Firefox oder Safari aufrufe sehe ich auch das Jpeg!

Jetzt habe ich ein kleines Testprogramm (mittels PB Hilfe) gebastelt, welches aber nicht zu funktionieren scheint! Es wird hier immer failed! ausgegeben (wie gesagt, die URL ist nicht so wie im Quelltext, sondern "richtig"):

Code: Alles auswählen

OpenConsole()
InitNetwork()

url$ = "http://User:Passwort@meineipcam.tintifax.com/IMAGE.JPG"
filename$ = "download.jpg"

If ReceiveHTTPFile(url$, filename$)
  PrintN("success!")
Else
  PrintN("failed!")
EndIf

PrintN("press enter..")
Input()
CloseConsole()
Kann mir jemand einen Tipp geben, wie ich das Bild (welches durch anscheinend .htaccess oder so geschützt ist) programmtechnisch runterladen kann?

Danke & mfg, Gregor

EDIT: Bevor die Fragen kommen: Ja, das Compilat und PB darf aufs Internet zugreifen ;)

Verfasst: 09.06.2008 14:14
von rolaf
Schon mit UrlDownloadToFile probiert? Scheinbar gibts mit dem neuen Befehl von PB nämlich Probleme. Siehe hier: http://www.purebasic.fr/german/viewtopic.php?t=16830

Ich vermute jetzt einfach mal das der Probleme mit Sonderzeichen in der Url hat!

Verfasst: 09.06.2008 14:16
von gekkonier
Ja, danke, wollte ich grad posten ;)

Code: Alles auswählen

URLDownloadToFile_(0,url$, filename$, 0, 0)
Funktioniert ;)

Allerdings wäre die PB eigene Sache vermutlich wünschenswerter, da Plattformkompatibel usw. usf.

Danke!

Verfasst: 09.06.2008 14:55
von Rokur
Wenn du es plattformunabhängig willst, dann kannst du dir den HTTP-Request selbst zusammenbauen und dann speichern was zurück kommt. Siehe Network-Library, gute Beispiele gibts hier im Forum (Suche).

Verfasst: 09.06.2008 17:11
von gekkonier
Jetzt hab ich doch noch ein Problem damit, und zwar wegen des Cachings.

Wenn die Applikation jetzt läuft und sagenwirmal jede Minute das Image zieht, dann wird im Hintergrund ein Caching Mechanismus aktiv, und das Image wird immer vom Cache geladen, ausser man startet das Programm neu.

Abhilfe laut diesem Thread hier schafft DeleteUrlCacheEntry_:
http://www.purebasic.fr/german/viewtopi ... cacheentry
Gesagt, getan, allerdings funktioniert das komischerweise bei mir nicht. Es wird zwar kein Fehler angezeigt, allerdings auch nicht der Cache zu diesem File gelöscht.
Dann habe ich mir das bezüglich Caching unter Windows durchgelesen:
http://msdn.microsoft.com/en-us/library ... S.85).aspx
(Hier spinnt der URL-Parser von phpBB, bitte die URL komplett in die Adresszeile vom Browser kopieren!)

Mein Plan wäre jetzt, das FLAG INTERNET_FLAG_DONT_CACHE zu setzten, das würde mein Programm einfach nicht cachen lassen. Jedenfalls glaube ich das.

Jetzt habe ich nur eine kleine Bitte: Ich bin in Windowsprogrammierung absolut nicht versiert und wüsste jetzt keinen Weg dieses Flag zu setzen. Oder ums anders zu formulieren: Ist das der richtige Weg?

Kann mir jemand dabei bitte helfen?

Verfasst: 09.06.2008 17:25
von ts-soft
http://www.purebasic.fr/english/viewtop ... 199#217199
Der vielseitigste und beste Code in dieser Richtung.

Verfasst: 09.06.2008 17:56
von gekkonier
Das funktioniert!
Danke für den Tipp!

Verfasst: 09.06.2008 20:35
von gekkonier
Nur rein interessenshalber (es funktioniert jetzt zwar, aber ich wills einfach wissen *g*):

Wie kann man das im obigen Post angegebene FLAG setzen?
Ich möchte bissl mehr über Windowsprogrammierung mit PureBasic lernen, aber zu FLAG finde ich hier nicht viel, aus dem ich schlau werde.

Verfasst: 09.06.2008 20:49
von ts-soft
Das Flag ist doch auch in dem Code, soweit ich mich erinnere. Ist dort auch
deklariert, da in PB nicht vorhanden.

Der Code ist zwar sehr aufwendig, aber funktioniert bisher immer sehr
zuverlässig und unterstützt so ziemlich alles was man sich denken kann :wink:

Verfasst: 10.06.2008 08:33
von gekkonier
Ich glaub ich muss mir den Quelltext mal genauer ankucken, kann bestimmt daraus noch was lernen ;)

Danke an alle, Problem gelöst :allright: