kaepten: Proxy-Server / VB

Hallo zusammen

Ist zwar ganz leicht Off-Topic, aber Anregungen und Meinungen helfen mir bestimmt weiter.

Ich möchte ein Internet-Steuerelement mit VisualBasic programmieren. Das klapp auch: der Funktion "Navigate" gebe ich einfach die URL. So geht das auch mit anderen Steuerelementen die FTP Transfer ermöglichen. Ich finde aber nirgends in meinen VisualBasic Bücher, wie ich durch einen Vorhandenen Proxy komme. Wenn ich also ein FTP Client machen möchte, wie kann ich Presets für Username und Passwort erfassen bzw. wo muss ich die wie übermitteln?

Oder anders gefragt: Auf welcher "Ebene" findet die Authorisierung eines Benutzers beim Proxyserver statt?

Das kann bestimmt nicht sehr kompliziert sein :-)
Für Hinweise wo ich weitersuchen muss bin ich dankbar!
cheers
kaepten

  1. Ich möchte ein Internet-Steuerelement mit VisualBasic programmieren. Das klapp auch: der Funktion "Navigate" gebe ich einfach die URL. So geht das auch mit anderen Steuerelementen die FTP Transfer ermöglichen. Ich finde aber nirgends in meinen VisualBasic Bücher, wie ich durch einen Vorhandenen Proxy komme. Wenn ich also ein FTP Client machen möchte, wie kann ich Presets für Username und Passwort erfassen bzw. wo muss ich die wie übermitteln?

    Oder anders gefragt: Auf welcher "Ebene" findet die Authorisierung eines Benutzers beim Proxyserver statt?

    Hallo,

    welches Steuerelement nutzt du denn für deine Anwendung.
    WebBrowser (IE), InternetTransferControl, WinSock, ...
    Je nach Steuerelement muss die Angabe eines Proxys anders erfolgen.
    Wenn du FTP mit dem Steuerelement realisieren willst, bleibt dir nur
    der Weg über API's, da das normale "InternetTransfer-Steuerelement" nicht mit PassiveMode (meistens bei FTP-Servern hinter einer Firewall) umgehen kann.

    Funktionen für dein Problem findest Du im MSDN unter den Stichworten:
    InternetConnect
    InternetOpen
    FtpGetFile
    FtpPutFile

    Tschau, Stefan

    1. Hoi Stefan

      Danke für Deine Antwort, Du scheinst Dich auszukennen. Da frag ich Dich doch gleich weiter :-)

      welches Steuerelement nutzt du denn für deine Anwendung.
      WebBrowser (IE), InternetTransferControl, WinSock, ...
      Je nach Steuerelement muss die Angabe eines Proxys anders erfolgen.
      Wenn du FTP mit dem Steuerelement realisieren willst, bleibt dir nur
      der Weg über API's, da das normale "InternetTransfer-Steuerelement" nicht mit PassiveMode (meistens bei FTP-Servern hinter einer Firewall) umgehen kann.

      Ich weiss eben noch nicht genau welches von all denen ich benutzen muss. Mein geplantes unterfangen: Ich möchte gerne den Quelltext einer URL/HTML-Seite bekommen (beispielsweise um in einem TextControl anzuzeigen). Ich glaube, da müsste ich über das InternetTransferControl gehen, also auch die API Funktionen nutzen?

      kaepten

      PS: Keine Angst, ich will keine Quellcodes klauen, für all die, welche den Klau mit Versuchen wie linken Mausklick unterbinden etc... verhindern versuchen  :-))

      1. Hoi Stefan

        Danke für Deine Antwort, Du scheinst Dich auszukennen. Da frag ich Dich doch gleich weiter :-)

        welches Steuerelement nutzt du denn für deine Anwendung.
        WebBrowser (IE), InternetTransferControl, WinSock, ...
        Je nach Steuerelement muss die Angabe eines Proxys anders erfolgen.
        Wenn du FTP mit dem Steuerelement realisieren willst, bleibt dir nur
        der Weg über API's, da das normale "InternetTransfer-Steuerelement" nicht mit PassiveMode (meistens bei FTP-Servern hinter einer Firewall) umgehen kann.

        Ich weiss eben noch nicht genau welches von all denen ich benutzen muss. Mein geplantes unterfangen: Ich möchte gerne den Quelltext einer URL/HTML-Seite bekommen (beispielsweise um in einem TextControl anzuzeigen). Ich glaube, da müsste ich über das InternetTransferControl gehen, also auch die API Funktionen nutzen?

        kaepten

        PS: Keine Angst, ich will keine Quellcodes klauen, für all die, welche den Klau mit Versuchen wie linken Mausklick unterbinden etc... verhindern versuchen  :-))

        Hallo,

        Mein geplantes unterfangen: Ich möchte gerne den Quelltext einer
        URL/HTML-Seite bekommen (beispielsweise um in einem TextControl
        anzuzeigen).

        für solche Zwecke kann man auch das InternetTransfer-Steuerelement nutzen.
        Allerdings kann es Probleme beim Laden von Dateien geben, die auf dem Max erstellt wurden, bzw. Binär per FTP hochgeladen wurden. Du musst
        die Files binär empfangen und danach in Ascii umwandeln.

        Auf meiner Site gibt es so ein Tool (GetHTML), das fremde Sites abzieht,
        Teile des Quellcodes (frei bestimmbar) filtert, src-Tags, ... anpasst,
        dem eigenen Layout, (Schriftart, ...) angleicht und den konvertierten
        Text wieder ausgibt.

        Allerdings sollte man hierbei immer beachten, daß man den Urheber
        der Quellseite natürlich um Erlaubnis fragen sollte, bevor man sich
        dessen Seiten zu eigen macht. Denn anders als in Frames sieht hier der
        Besucher absolut nicht mehr, daß dieser Text von einer anderen Seite kommt.
        Es eignet sich aber hervorragend für Seiten, die z.B.: tagesaktuelle News wie Wetter, Verkehrsmitteilungen, ... anzeigen möchten.

        Wenn es dir lediglich um das Anzeigen des Quellcodes in einer Anwendung
        geht, reicht auch folgendes Konstrukt:

        In deiner Anwendung hast Du:
        Form1
        txtHTML (mehrzeiliges Textfeld)
        txtURL (einzeiliges Textfeld)
        und
        cmdGetFile (Button)

        Dann noch das Steuerelement (Microsoft Internet Transfer Steuerelement)
        über die Komponenten in die Form gezogen -> Ausführen -> Fertig.

        Der Code für, der beim Klicken des Buttons ausgeführt wird ist folgender:
        Private Sub cmdGetFile_Click()
           txtHTML = Inet1.OpenURL(txtURL)
        End Sub

        Tschau, Stefan

        1. Private Sub cmdGetFile_Click()
             txtHTML = Inet1.OpenURL(txtURL)
          End Sub

          Hallo,

          ganz vergessen, da gibst noch einen Bug im ITC.

          Private Sub cmdGetFile_Click()
             Inet1.URL = txtURL
             txtHTML = Inet1.OpenURL
          End Sub

          so sollte es gehen.

          Tschau, Stefan

          1. Hi Stefan

            Also das mit dem Quelltext hat einen ähnlichen Hintergrund: Ich möchte ein CGI-Script starten und dann das Resultat nach dem gewünschten Content durchparsen. Diesen Inhalt möchte ich aber nicht als HTML Seite anzeigen, sondern in einer TextBox. Insofern interessiert mich das HTML gar nicht, sondern das Resultat, das im HTML eingebettet ist.

            Private Sub cmdGetFile_Click()
               Inet1.URL = txtURL
               txtHTML = Inet1.OpenURL
            End Sub

            Dann kannst Du mir sicher auch gerade noch sagen, wo ich nun genau diese API einbauen muss, für den Fall, dass ich noch durch einen Proxy-Server Hindurch muss... Das müsste dann ja irgenwie dieses OpenURL ersetzen oder?

            Vielen Dank! Ich schick dir dann eine Version meines geheimheimheim-Softwareproduktes ;-)

            cheers
            kaepten

            1. Private Sub cmdGetFile_Click()
                 Inet1.URL = txtURL
                 txtHTML = Inet1.OpenURL
              End Sub

              Dann kannst Du mir sicher auch gerade noch sagen, wo ich nun genau diese API einbauen muss, für den Fall, dass ich noch durch einen Proxy-Server Hindurch muss... Das müsste dann ja irgenwie dieses OpenURL ersetzen oder?

              Vielen Dank! Ich schick dir dann eine Version meines geheimheimheim-Softwareproduktes ;-)

              Hallo,

              um den Proxy zu benutzen, musst Du folgendes eingeben:

              Inet1.AccessType = icNamedProxy
              'Inet1.Proxy = "ftp=FTPProxy:80 HTTP=HTTPProxy:80"
              Inet1.Proxy = "STDProxy:80"

              der Rest muss hintendran stehen.

              Tschau, Stefan

              P.S.: Ich freu mich schon auf die "geheime" Software.