Ftp per Proxy Firewall

Hallo zusammen,

ich möchte gerne per VB Dateien auf einen ftpServer uploaden. Ich habe da auch schon mehrere Sachen ausprobieren können die jedoch allesamt am Proxy (mit eigener IP, open Proxy) scheitern.
commerzielle Programme schaffen den upload mal eben locker wenn man die Daten der Firewall einstellt.
Beim connect in Vb werden immer nur Adresse, Name und Passwort verlangt, jedoch habe ich noch keinen Code gefunden der den Proxy mit einbezieht.

Hat da jemand einen Tip ?

Zur Info:
In z.B. Filezille oder WS_ftp stelle ich den Host, ID und Passwort für den Surfer ein, aktiviere Binär, und unter Proxy bzw Firewall stelle ich einen anderen Port, open Proxy sowie die IP der Firewall ein.

Viele Grüße

Ralf

Hallo Ralf,
in der API-Guide habe ich ein Beispiel gefunden, das Dir vermutlich weiter helfen wird. Ich habe es nicht getestet, aber in den Beispielen habe ich noch nichts gefunden, was Fehlerhaft war. …
Die Quelle steht im Code.

Const scUserAgent = "API-Guide test program"
Const INTERNET\_OPEN\_TYPE\_DIRECT = 1
Const INTERNET\_OPEN\_TYPE\_PROXY = 3
Const INTERNET\_FLAG\_RELOAD = &H80000000
Const sURL = "http://www.microsoft.com/index.htm"
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Sub Form\_Load()
 'KPD-Team 1999
 'URL: http://www.allapi.net/
 'E-Mail: [email protected]

 Dim hOpen As Long, hFile As Long, sBuffer As String, Ret As Long
 'Create a buffer for the file we're going to download
 sBuffer = Space(1000)
 'Create an internet connection
 hOpen = InternetOpen(scUserAgent, INTERNET\_OPEN\_TYPE\_DIRECT, vbNullString, vbNullString, 0)
 'Open the url
 hFile = InternetOpenUrl(hOpen, sURL, vbNullString, ByVal 0&, INTERNET\_FLAG\_RELOAD, ByVal 0&amp:wink:
 'Read the first 1000 bytes of the file
 InternetReadFile hFile, sBuffer, 1000, Ret
 sURL, vbNullSt0A InternetCloseHandle hFile
 InternetCloseHandle hOpen
 'Show our file
 MsgBox sBuffer
End Sub

Gruß, Rainer

Hallo Rainer,
zunächst mal Danke, ich habe schon an vielen Stellen gepostet und das hier war die erste Antwort in drei Tagen.

Leider bringt mich das mit meinen Kenntissen doch nicht wirklich weiter, was wohl auch sehr stark daran liegt das ich nur beschränkt Ahnung von VB habe. Nach inzwischen 5 Nächten Recherche und ausprobieren bin ich nun doch so entmutigt das ich mich für die eklige Lösung entschieden habe WS-ftp per Source zu starten und die Aktion darüber zu händeln :frowning:.

Schön siehts nicht aus, aber es funzt halt …

Nichts desto trotz, der Link war echt gut und informativ, da lassen sich so einige Sachen nachschlagen!

Danke!

Ralf

Hallo Ralf,

zunächst mal Danke, ich habe schon an vielen Stellen gepostet
und das hier war die erste Antwort in drei Tagen.

Leider bringt mich das mit meinen Kenntissen doch nicht
wirklich weiter, was wohl auch sehr stark daran liegt das ich
nur beschränkt Ahnung von VB habe.

Schade. ;-( Ich kann die Szene hier leider nicht nachstellen um zu testen. Der Code sahr für mich aber recht übersichtlich aus.
Wo liegt denn das Problem?

Nach inzwischen 5 Nächten
Recherche und ausprobieren bin ich nun doch so entmutigt das
ich mich für die eklige Lösung entschieden habe WS-ftp per
Source zu starten und die Aktion darüber zu händeln :frowning:.

Kann ich verstehen. Wenn es gar nicht weiter geht, weiche ich auch oft auf Notlösungen aus. … Hast Du noch Lust, das Problem zu diskutieren? Eventuell habe ich ja noch eine Idee und Anno ist ja auch noch da. :wink:

Schön siehts nicht aus, aber es funzt halt …

Nichts desto trotz, der Link war echt gut und informativ, da
lassen sich so einige Sachen nachschlagen!

Danke!

Nichts zu danken, gern geschehen. :wink:

Ich werde das Beispiel mal mit meinen Daten versorgen … einen Proxy habe ich aber wie gesagt nicht laufen. Die entsprechende Stelle im Code scheint mir aber gut kommentiert.

Gruß, Rainer

Hallo Ralf,

ich habe noch einen Link für Dich.
http://www.planetsourcecode.com/vb/scripts/BrowseCat…
Sieh mal nach, ob da etwas für Dich dabei ist.

Gruß, Rainer

Moin Rainer,

also ich habe seit gestern Morgen 5 Uhr das Prog mit Hilfe von wsftp laufen. Die Kollegen freuen sich über wesentlich weniger Arbeit und ich bin erst mal beruhigt.
Als Ausrede nehme ich, dass ich schließlich auch Outlook im gleichen Programm zum Mailversand nutze und BASTA ! :wink:

Trotz alledem hat mich das Thema natürlich weiter gereizt und ich habe mir Deinen link angeschaut. Der Source von A! FTP ließ sich Dank des API Guides selbst für mich verständlich auf unsere Konstellation umbauen.

Im Source habe ich lediglich den [Public Const INTERNET_DEFAULT_FTP_PORT = 21] von 21 auf unseren Port des Proxy geändert. Das dürfte reichen weil über die Oberfläche alle weiteren Einstellungen zu händeln waren.
Nach Eintragung von Proxy IP, ServerIP, benutzer und Passwort hätte es meiner Meinung nach klappen müssen.
Natürlich erhalte ich lediglich einen Err 12001, soll bedeuten ein Timeout [GRUMMEL, SCHNAUF, ÄRGER].

Was ich bereits vor einigen Tagen gelesen habe ist das es verschiedene Proxyarten gibt, die irgendwie nicht kompatibel sind (Cern,Tis,…) das läßt mich bei der Maske von A! FTP äußerst stutzig werden.

Von zuhause klappts ja auch mit dem Transfer, aber wie bereits geschrieben solls ja hier auf der Arbeit funzen und das mit dem Proxy scheint mir doch komplexer zu sein als gedacht.

Nun denn, mein Prog läuft und liefert das Ergebnis welches wir alle möchten, das es dazu zwei Rollstühle benutzt soll mich jetzt nicht mehr weiter stören…

Jedenfalls habe ich einiges dazugelernt, unter anderem auch, dass in wer-weiss-was eine qualifizierte und egangierte Antwort kam, wo ich in den eigentlichen Fachforen bis heute noch drauf warte (Das ist kein Vorwurf an die Anderen! sondern lediglich ein Kompliment an die wer-weiss-was Gemeinde!), aber das ist nicht das erste Mal :smile:

In diesem Sinne ein schönes WE und nochmal Danke!

Ralf
(Mal hinter seinem Proxy hervorwinkt)