Italia
Foro

HTTP Download

 
- Page 1 -



Georg
Hovenbitzer
Hallo zusammen,

in meinem Programm ziehe ich mir File per HTML runter, bis dato habe ich es immer mit der URLMON.DLL gemacht:
UrlDownLoad(0,@Addr(GetPfad$),@Addr(SaveDatei$),0,0)
Dies reichte mir vollkommen aus, nur stelle ich im Moment fest, dass es Links gibt wo folgender Fehler kommt:
-2147221020 The address of this site is not valid. Check the address and try again.

Z.B. bei: link illegal und entfernt

Mit der download.pcu von If und per Browser klappt der Download

Da ich das Programm aber gerne mit Profan2CPP übersetzen möchte, ist die PCU keine Lösung per mich.

Hat jemand einen Tip woran es liegen kann und gibt es noch andere Möglichkeiten per den Download.
Ach ja, mit DoFileDownload aus der shdocvw.dll habe ich es auch versucht, führt aber unter XP zu einem Rechteproblem.
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
24.05.2006  
 



 
- Page 1 -



Georg
Hovenbitzer
Ich habe mal ein Demo gebaut:
KompilierenMarkierenSeparieren
Declare Get$
Declare Put$
Declare Error&
Get$ = --- kommt ein neuer, damit es keine Ärger gibt ---
Put$ = "D:\Test1.txt"
Error& = @External("urlmon.dll","URLDownloadToFileA",0,@Addr(Get$),@Addr(Put$),0,0)
Print Error&
WaitInput
Get$ = "https://www.google.de/intl/de_de/images/logo.gif"
Put$ = "D:\Test2.txt"
Error& = @External("urlmon.dll","URLDownloadToFileA",0,@Addr(Get$),@Addr(Put$),0,0)
Print Error&
WaitInput
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
24.05.2006  
 



Nun auf jeden Fall sehe ich nicht das Du den Cache leerst vor dem Download.
 
24.05.2006  
 



Habs grad mal rausgesucht:
KompilierenMarkierenSeparieren
external("wininet.dll","DeleteUrlCacheEntryA",addr(url$))
>

Ich bin mir auf Anhieb auch nicht sicher ob urldownloadtofile es mag wenn get$ existiert.
 
24.05.2006  
 




Georg
Hovenbitzer
Hi iF,

was hat der Cache damit zu tun

Der Fehler Code ist ja -2147221020, The address of this site is not valid. Check the address and try again, hört sich nach einem Linkfehler an, dieser klappt also.
Daher die Frage ob er umgewandelt werden muss ?!
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
24.05.2006  
 




Georg
Hovenbitzer
Danke iF,

geht aber leider auch nicht nach dem Löschen des Cachs, gleicher Fehler.

Das muss doch gehen, ich habe im Internet auch nichts gefunden was dagegen spricht.
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
24.05.2006  
 



[quote:8eeb58dfe0]was hat der Cache damit zu tun gruebel [/quote:8eeb58dfe0]
Urldownloadtofile läd nur wenn das File nicht bereits im Cache liegt.

Drum entleere erst den Cache und schau ob die Fehlernummer gleich bleibt.

Zur Umwandlung: Du kannst die URL umwandeln indem Du die Hexcodes der Chars im String geführt von einem Prozentzeichen hintereinander schreibst. Bei diesen sonderzeichen in Deiner Url wäre das auch empfehlenswert.

Aus dem Freizeichen wird dann z.B. %20, und aus dem grossen A ein %41 usw.usw...
 
24.05.2006  
 




Georg
Hovenbitzer
Hallo iF,

Cache Löschen eingebaut und auch mal mit der Umwandlung probiert, aber leider geht es immer noch nicht.

Aber, wenn man den Code mit Profan2CPP übersetzt klappt alles
Also eher ein Profan internes Problem.

Witzig ist, wenn man wie ich es muss, in den Cpp Code die von Sebastian vorgegebenen Define Einträge macht, klappt es mit der ersten File nicht mehr, aber mit der zweiten.

Profan und Profan2CPP haben dann die gleichen Probleme mit der gleichen Fehlernummer.
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
24.05.2006  
 




Clemens
Meier
Was mir auffällt ist, dass die erste URL Leerzeichen enthält. Man sollte grundsätzlich URLs, von denen man nicht 100% weiss, dass sie korrekt sind, durch einen Encode jagen, bevor man sie benutzt. Anbei zwei Prozeduren. Die 1. kodiert den Pfad (Pfad vorher von der Domain trennen), die 2. ist eine Hilfsprozedur. Probiere es also mal damit.
KompilierenMarkierenSeparieren
PROC URLPathEncode

    Parameters string$
    declare i&,char%,urlpathencode$
    urlpathencode$ = string$

    WhileLoop len(urlpathencode$),1,-1

        char% = ord(mid$(urlpathencode$,&loop,1))

        if ((char%>96) AND (char%<123))

        elseif ((char%>47) AND (char%<58))

        elseif ((char%>64) AND (char%<91))

        elseif ((char%>44) AND (char%<48))

        elseif (char% = 95)

        elseif (char% = 126)

        elseif (char% = 38)

        elseif (char% = 58)

        elseif (char% = 63)

        elseif (char% = 64)

        elseif (char% = 35)

        elseif (char% = 33)

        elseif (char% = 36)

        elseif (char% = 42)

        elseif (char% = 43)

        else

            if (&loop=1)

                urlencode$ = "%" + hexx(char%) + mid$(urlencode$,&loop+1,len(urlencode$))

            elseif (&loop=len(urlencode$))

                urlencode$ = left$(urlencode$,&loop-1) + "%" + hexx(char%)

            else

                urlencode$ = left$(urlencode$,&loop-1) + "%" + hexx(char%) + mid$(urlencode$,&loop+1,len(urlencode$))

            endif

        endif

    Wend

    return urlpathencode$

ENDPROC

PROC hexx

    Parameters zahl&

    if (zahl&>15)

        return hex$(zahl&)

    else

        return "0"+hex$(zahl&)

    endif class=s4 href='./../../funktionsreferenzen/xprofan/endproc/'>ENDPROC


P.S. Ich bin offenbar blind. Wo sind da Leerzeichen. Habe doch glatt die Punkte übersehen. Dennoch lohnt es sich, Pfade zu kodieren. Meines Wissens nach macht dies die urlmon nämlich nicht und bei einem Zugriff auf einem ix-Server kommt es zu Fehlermeldungen.
 
XProfan 9.1; XP SP2; FF; Editpad
24.05.2006  
 




Georg
Hovenbitzer
Hallo Clemens,

danke per den Code (ich hatte es radikaler gemacht und alles umgewandelt), aber leider gibt es dadurch keine Veränderung. Da es in der URL auch keine Zeichen gibt die umgewandelt werden müssten.
Ich würde sagen, dies ist ein Problem von Profan selbst, da es in CPP übersetzt ja alles klappt.
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
24.05.2006  
 



@Georg: Aber mal was Anderes - der Torrentlink ist illegal?!?! Wenn ja, entferne den - auch aus dem Source!

Ich will hier keine Links zu Dingen welche lt. Nutzungsbedingungen ausdrücklich verboten sind.

Ich möchte auch keine Diskussion. Wenn der Link legal ist, dann kannst Du ihn naturalmente einfach belassen - aber begründe kurz warum.

Danke!
 
24.05.2006  
 




RGH
[quote:3398313431=Georg Hovenbitzer]Ich würde sagen, dies ist ein Problem von Profan selbst, da es in CPP übersetzt ja alles klappt.[/quote:3398313431]
Wohl kaum! Bei mir corre Dein Demo aus dem 2. Post unverändert völlig fehlerfrei und lädt beide File!
(XProfan 10ß, 11. Subscriptionslieferung)

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
24.05.2006  
 



 
- Page 2 -



Georg
Hovenbitzer
@if: Ich habe den Link entfernt, hatte darüber nicht weiter nachgedacht, da ich nur einen langen Link zum Test brauchte.

@Roland: Dank dir per den Test, wenn es dir possibile ist wäre es nett es mit 9.1 mal zu versuchen.
Ich habe mal zum Test den Verzeichnisbaum mit Groß- und Kleinschreibung und dem langen Dateinamen auf meiner Domain nachgestellt, da klappt es dann mit dem Download.
Keine Ahnung woran dies liegt, wie gesagt in CPP übersetzt klappt es mit allen Servern.
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
24.05.2006  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.984 Views

Untitledvor 0 min.
H.Brill19.02.2023
Andre Rohland10.01.2020
Stephan Sonneborn20.11.2019
Thomas Freier16.07.2018
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie