Seite 1 von 2

ReceiveHTTPFile problem

Verfasst: 18.06.2008 11:17
von Andreas21
Hi,

ich hab volgendes Problem. Ich will unter Linux in PB einen Shell aufruff machen. Nur leider weis ich nicht wie das geht.

Ich will es machen weil ich gern eine Datei aus dem internet laden will um sie danach zu bearbeiten. ReceiveHTTPFile("http.user:pw@tes.de/test.gz", "test.gz") gehts leider nicht. Meine Url ist mit Password gesichert. Ich bekomm immer not found. Mit "wget http.user:pw@tes.de/test.gz" gehts problemlos. Deswegen such ich eine möglichkeit es aufzuruffen um die Datei runter zuladen während mein Programm leuft.

Verfasst: 18.06.2008 12:03
von rolaf
Nim dies:

Code: Alles auswählen

DeleteUrlCacheEntry_("http.user:pw@tes.de/test.gz")
URLDownloadToFile_(0, "http.user:pw@tes.de/test.gz", "test.gz", 0, 0)
ReceiveHTTPFile() ist noch nicht das Wahre.

Verfasst: 18.06.2008 12:12
von Kiffi
Falo hat geschrieben:Nim dies:
nicht vergessen: Vorher Wine anwerfen ;-)

Grüße ... Kiffi

Verfasst: 18.06.2008 12:17
von jpd
Hi Andreas21,

"http://" verwenden und nicht http.

Ciao
jpd

Verfasst: 18.06.2008 12:26
von rolaf
Kiffi hat geschrieben:
Falo hat geschrieben:Nim dies:
nicht vergessen: Vorher Wine anwerfen ;-)

Grüße ... Kiffi
Linux übersehen - Sorry! :oops: :lol:

Verfasst: 18.06.2008 13:40
von bembulak
Mit "wget http.user:pw@tes.de/test.gz" gehts problemlos. Deswegen such ich eine möglichkeit es aufzuruffen um die Datei runter zuladen während mein Programm leuft.
Dann nimm doch wget. Was spricht dagegen? Wie wir bei diesem Thread (mkdir) schon gesehen haben, sollte RunProgram() auf jeden fall gehen und mit etwas Glück kannst du sogar wget_() nehmen.

Verfasst: 18.06.2008 14:04
von Andreas21

Code: Alles auswählen

******************************************
PureBasic 4.20 (Linux - x86)
******************************************

Loading external modules...
Starting compilation...
Error: Line 20 - DeleteUrlCacheEntry_() is not a function, array, macro or linked list
Test Code:

Code: Alles auswählen

user$ = "test"
pw$ = "test"
url$= "http://"+user$+":"+pw$+"@test.de/"

InitNetwork()
ReceiveHTTPFile(url$+"test.php", "status")
OpenFile(0, "status")
ReadString(0)
ReadString(0)
info$ = ReadString(0)
CloseFile(0)
;OpenConsole()
file$ = StringField(info$, 1, ";")
file_version$ = StringField(info$, 2, ";")
file_time$ = StringField(info$, 3, ";")
file_verson$ = StringField(info$, 4, ";")
file_time$ = StringField(info$, 5, ";")
PrintN ("info 1: "+file$)
PrintN ("info 2: "+file_version$)
PrintN ("info 3: "+file_time$)
PrintN ("info 4: "+file_verson$)
PrintN ("info 5: "+file_time$)
file$ = "file_"+file_verson$+".gz"
PrintN (url$+"test/"+file$)
DeleteUrlCacheEntry_(url$+"test/"+file$, file$)
URLDownloadToFile_(0, url$+"test/"+file$, file$ ,0 ,0)
PrintN ("Ende!")
die php datei kann er ja ohne probleme laden:
ReceiveHTTPFile(url$+"test.php", "status")
nur bei der gz datei kommt halt not fund.
bei wget gehts komischer weise.

Verfasst: 18.06.2008 14:20
von DarkDragon
:mrgreen: Windows API Befehle sollte man halt nicht auf einem Linux-system benutzen.

DeleteUrlCacheEntry_
URLDownloadToFile_

sind Windows API Befehle

Verfasst: 18.06.2008 14:27
von Andreas21
@jpd

hatte http:// drin^^

@bembulak
danke^^
wget_() geht zwar nicht aber mit RunProgram ("wget",url$+"test/"+file$)gehts.

Code: Alles auswählen

user$ = "test"
pw$ = "test"
url$= "http://"+user$+":"+pw$+"@test.de/"

RunProgram ("wget", url$+"test.php", "", #PB_Program_Wait)
OpenFile(0, "status.php")
ReadString(0)
ReadString(0)
info$ = ReadString(0)
CloseFile(0)
file$ = StringField(info$, 1, ";")
file_version$ = StringField(info$, 2, ";")
file_time$ = StringField(info$, 3, ";")
file_verson$ = StringField(info$, 4, ";")
file_time$ = StringField(info$, 5, ";")
PrintN ("info 1: "+file$)
PrintN ("info 2: "+file_version$)
PrintN ("info 3: "+file_time$)
PrintN ("info 4: "+file_verson$)
PrintN ("info 5: "+file_time$)
file$ = "file_"+file_verson$+".gz"
PrintN (url$+"test/"+file$)
RunProgram ("wget", url$+"test/"+file$, "", #PB_Program_Wait)
PrintN ("Ende!")
Aber noch ne andere Frage. Kann man es irgentwie abschalten das die infos von wget mit angezeigt werden? Hab nicht so viel ahnung von linux >.<

Verfasst: 18.06.2008 14:43
von ts-soft
Andreas21 hat geschrieben: Aber noch ne andere Frage. Kann man es irgentwie abschalten das die infos von wget mit angezeigt werden? Hab nicht so viel ahnung von linux >.<

Code: Alles auswählen

#PB_Program_Hide
Das ist aber Linux-Unabhängig :wink: