Download File mit autorisierung
-
- Beiträge: 390
- Registriert: 30.08.2004 09:05
- Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64 - Wohnort: Heidelberg
Download File mit autorisierung
Hi, Ich wolte mit ReceiveHTTPFile eine Datei aus dem Internet herunterladen.
Nur leider giebts es immer schieff.
Diese Datei ist geschützt.
Mit WGet gehts problemlos.
Es giebt zwar einen Code hier im Forum nur der ist extrem lang.
Also ich will z.b. http://benutzername:password@url.net/lala/oiu.gz herunter laden.
Nur leider giebts es immer schieff.
Diese Datei ist geschützt.
Mit WGet gehts problemlos.
Es giebt zwar einen Code hier im Forum nur der ist extrem lang.
Also ich will z.b. http://benutzername:password@url.net/lala/oiu.gz herunter laden.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Download File mit autorisierung
IMHO sollte es so gehen:
Kann ich aber nicht testen. Wenn es nicht geht, ist die Frage: Ein Bug oder Feature Request.
Gruß
Thomas
PS: Warum unter Linux gepostet? Sollte unter Windows dasselbe sein. Aber dann bekommste wohl lauter
unnütze win-api Lösungen
Code: Alles auswählen
InitNetwork()
Define.s URL = "http://url.net/lala/oiu.gz"
Define.s User, Pwd
User = "benutzername"
Pwd = "password"
URL = SetURLPart(URL, #PB_URL_User, User)
URL = SetURLPart(URL, #PB_URL_Password, Pwd)
URL = URLEncoder(URL)
Debug ReceiveHTTPFile(URL, GetTemporaryDirectory() + "oiu.gz")
Gruß
Thomas
PS: Warum unter Linux gepostet? Sollte unter Windows dasselbe sein. Aber dann bekommste wohl lauter
unnütze win-api Lösungen

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 390
- Registriert: 30.08.2004 09:05
- Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64 - Wohnort: Heidelberg
Re: Download File mit autorisierung
Das geht leider nicht.
Die url die am ende raus kommt ist ja ok. Nur ReceiveHTTPFile giebt mir jedesmal 0 zurück.
z.b.: http://benutzername:password@url.net/lala/oiu.gz
Und warum ich es unter Linux gepostet habe ist der Grund da mit sontzt zu 90% Win Api lösungen gegeben werden.
Ich werde mich mal Morgen mit den Network Befehlen was zu machen.
Edit:
Ok hab doch den langen code wieder genommen.
Hatte damals schon Probleme damit gehabt http://forums.purebasic.com/german/view ... 21&t=16937
Die url die am ende raus kommt ist ja ok. Nur ReceiveHTTPFile giebt mir jedesmal 0 zurück.
z.b.: http://benutzername:password@url.net/lala/oiu.gz
Und warum ich es unter Linux gepostet habe ist der Grund da mit sontzt zu 90% Win Api lösungen gegeben werden.
Ich werde mich mal Morgen mit den Network Befehlen was zu machen.
Edit:
Ok hab doch den langen code wieder genommen.
Hatte damals schon Probleme damit gehabt http://forums.purebasic.com/german/view ... 21&t=16937
Code: Alles auswählen
PureHTTP Include - Version: 0.42b
; OS: Linux / Windows / AmigaOS / MacOSX
; Author: Marius Eckardt (Thalius)
; a lil lib for HTTP ( for now just Downloading ;)
; Last Changes: 08.11.2007
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
- langinagel
- Beiträge: 30
- Registriert: 03.08.2005 21:06
- Computerausstattung: AMD-Krücke 8GB / Lubuntu 18.04
core i3 / 4GB / 1TB / Ubuntu 16.04
und noch paar alte Schinken - Wohnort: Germ-any
- Kontaktdaten:
Re: Download File mit autorisierung
Moinsen,
ich nutze ReceiveHTTPFile() auch unter Linux (Ubuntu).
Allerdings klappt es mal und mal nicht.
comdirect.com anzusprechen funktioniert,
rosettacode.org funzt leider nicht .
Koennte es sein, dass es vom Webserver abhaengt ??
Nur 'ne Mutmassung.
Schoenen Gruss
Thorsten
ich nutze ReceiveHTTPFile() auch unter Linux (Ubuntu).
Allerdings klappt es mal und mal nicht.
comdirect.com anzusprechen funktioniert,
rosettacode.org funzt leider nicht .
Koennte es sein, dass es vom Webserver abhaengt ??
Nur 'ne Mutmassung.
Schoenen Gruss
Thorsten
https://www.doerpsoft.org
Boost. Work. Efficiency.
AMD-Krücke mit Lubuntu-18.04 / iCore7 mit Win10-64
Boost. Work. Efficiency.
AMD-Krücke mit Lubuntu-18.04 / iCore7 mit Win10-64
Re: Download File mit autorisierung
langinagel hat geschrieben:rosettacode.org funzt leider nicht .
Code: Alles auswählen
InitNetwork()
If ReceiveHTTPFile("http://rosettacode.org/wiki/Minesweeper_game", GetTemporaryDirectory() + "temp.html")
Debug ":-)"
Else
Debug ":-("
Endif
Grüße ... Kiffi
a²+b²=mc²
- langinagel
- Beiträge: 30
- Registriert: 03.08.2005 21:06
- Computerausstattung: AMD-Krücke 8GB / Lubuntu 18.04
core i3 / 4GB / 1TB / Ubuntu 16.04
und noch paar alte Schinken - Wohnort: Germ-any
- Kontaktdaten:
Re: Download File mit autorisierung
Hmmm, der Code funzt auch bei mir.
Aber der Code:
ergibt bei mir ein ":-(".
Und das war mein Standardbeispiel für Rosettacode.
Neue Hypothese: Könnte ReceiveHTTPFile ein Zeitlimit haben? *rumspekulier*
Gruss
Thorsten
Aber der Code:
Code: Alles auswählen
InitNetwork()
If ReceiveHTTPFile("http://rosettacode.org/mw/index.php?title=Special:Categories&limit=5000", GetTemporaryDirectory() + "temp.html")
Debug ":-)"
Else
Debug ":-("
EndIf
Und das war mein Standardbeispiel für Rosettacode.
Neue Hypothese: Könnte ReceiveHTTPFile ein Zeitlimit haben? *rumspekulier*
Gruss
Thorsten
https://www.doerpsoft.org
Boost. Work. Efficiency.
AMD-Krücke mit Lubuntu-18.04 / iCore7 mit Win10-64
Boost. Work. Efficiency.
AMD-Krücke mit Lubuntu-18.04 / iCore7 mit Win10-64
Re: Download File mit autorisierung
das liegt anscheinend am Doppelpunkt zwischen 'Specials' und 'Categories'.
Wenn Du den durch ein '%3A' austauschst, dann funktioniert das auch mit
der von Dir angegebenen Seite.
@All: Wieso wird der Doppelpunkt nicht mit URLEncoder() gewandelt?
Grüße ... Kiffi
Wenn Du den durch ein '%3A' austauschst, dann funktioniert das auch mit
der von Dir angegebenen Seite.
Code: Alles auswählen
InitNetwork()
If ReceiveHTTPFile("http://rosettacode.org/mw/index.php?title=Special%3ACategories&limit=5000"), GetTemporaryDirectory() + "temp.html")
Debug ":-)"
Else
Debug ":-("
EndIf
Grüße ... Kiffi
a²+b²=mc²
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Download File mit autorisierung
Ja, mit solchen Zeichen muss man aufpassen. Firefox und ich glaube jeder andere Browser auch erkennt solche Zeichen selbst und wandelt sich entsprechend um vor der Übertragung zum Server. Ich schätze das musst du bei 'ReceiveHTTPFile()' dann auch vorher selbst machen.
- langinagel
- Beiträge: 30
- Registriert: 03.08.2005 21:06
- Computerausstattung: AMD-Krücke 8GB / Lubuntu 18.04
core i3 / 4GB / 1TB / Ubuntu 16.04
und noch paar alte Schinken - Wohnort: Germ-any
- Kontaktdaten:
Re: Download File mit autorisierung
Moinsen,
nun läuft's auch bei mir (völlig überraschend).
Ob das nun auch das ursprüngliche Problem von Andreas21 löst, steht noch aus.
Besten Dank auch für den Tipp.
Gruß
Thorsten
nun läuft's auch bei mir (völlig überraschend).

Ob das nun auch das ursprüngliche Problem von Andreas21 löst, steht noch aus.
Besten Dank auch für den Tipp.
Gruß
Thorsten
https://www.doerpsoft.org
Boost. Work. Efficiency.
AMD-Krücke mit Lubuntu-18.04 / iCore7 mit Win10-64
Boost. Work. Efficiency.
AMD-Krücke mit Lubuntu-18.04 / iCore7 mit Win10-64
-
- Beiträge: 390
- Registriert: 30.08.2004 09:05
- Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64 - Wohnort: Heidelberg
Re: Download File mit autorisierung
Mein Problem wird damit nicht gelöst 
Ich hatte ja das Problem das ich mich mit zugangsdaten beim Server anmelden muste.
%3A = :
%40 = @
Das geht nicht.

Ich hatte ja das Problem das ich mich mit zugangsdaten beim Server anmelden muste.
Code: Alles auswählen
InitNetwork()
If ReceiveHTTPFile("http://benutzername%3Apassword%40url/server/archive.gz", GetTemporaryDirectory() + "temp.html")
Debug ":-)"
Else
Debug ":-("
EndIf
Code: Alles auswählen
InitNetwork()
If ReceiveHTTPFile("http://benutzername%3Apassword@url/server/archive.gz", GetTemporaryDirectory() + "temp.html")
Debug ":-)"
Else
Debug ":-("
EndIf
%40 = @
Das geht nicht.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32