CInternetSession / pstrProxyBypass



  • Hallo.

    Könnte mir das mal jemand übersetzen/erklären? Ich verstehe das nicht. Wozu ist diese Liste der Server-Adressen gut bzw. was wird aus der Registry gelesen??

    [...]
    pstrProxyBypass
    A pointer to a string containing an optional list of server addresses. These addresses may be bypassed when using proxy access. If a NULL value is supplied, the bypass list will be read from the registry. This parameter is meaningful only if dwAccessType is set to INTERNET_OPEN_TYPE_PROXY.
    [...]

    Quelle: http://msdn.microsoft.com/library/en-us/vclib/html/_mfc_cinternetsession.3a3a.cinternetsession.asp

    Danke.



  • Ich habe das mal so programmiert:

    CInternetSession InternetSession(NULL, 1, dwAccessType, pstrProxyName, NULL, 0);
    

    pstrProxyName ist dabei ein CString, den habe ich aus einer Datenbank geholt.
    Wenn ein Proxy-Server vorhanden war, musste dort der Proxi-Server-Name rein. Den findest du, wenn du den Internet-Explorer öffnest und dann im Menü:
    Extras -> Internetoptionen -> Karteireiter Verbindungen -> Button Einstellungen -> im Eingabefeld Adressen steht der Proxi-Server-Name (wird da, soviel ich weiss, auch aus der Registry geholt...).

    Wenn kein Proxi verwendet wurde, wurde pstrProxyName einfach leer gelassen.

    Und je nach dem, ob nun in pstrProxyName etwas drin stand oder nicht, wurde dwAccessType auf INTERNET_OPEN_TYPE_PROXY oder INTERNET_OPEN_TYPE_DIRECT gesetzt.

    ➡ hat funktioniert



  • Erstens sehe ich leider keinen Zusammenhang zwischen meiner Frage und Deiner Antwort und zweitens möchte ich nicht auf Einstellungen vom IE zurückgreifen, sondern in meinem Prog selber Proxy-IP, Proxy-Port und ggf. Proxy-Authentifizierungsdaten eingeben/nutzen können.



  • Erstens möchte ich mich entschuldigen, dass ich deine Frage nicht zu 100% verständlich beantwortet habe, sondern erzählt habe, wie ich es schon einmal gelöst habe und du mit diesen Informationen dein Problem selber weiter lösen könntest und zweitens habe ich mit dem Internetexplorer nur gesagt, wo man sich die Proxy-Einträge aus der Registry einfach visualisieren lassen kann, ohne in der Registry selbst zu suchen und drittens habe ich da oben geschrieben, dass mein Programm seine Proxy-Zugangsdaten nicht aus der Registry geholt hat, sondern aus einer Datenbank und diese Einträge sind auch nicht vom Internetexplorer sondern wurden von meinem Programm selbst eingegeben so, wie du das auch machen möchtest und viertens kommen die Port-Angaben erst bei GetHttpConnection(...) und da kannst du von mir aus auch eingeben, was du willst und fünftens fällt mir jetzt nicht noch mehr dazu ein weil ich sechstens auch keine Lust mehr dazu habe.

    [edit]...und siebtens habe ich mir das da oben noch mal durchgelesen und muss wohl achtens zugeben, dass meine Antwort vielleicht neuntens doch nicht so ganz in die richtige Richtung gegangen ist, aber zehntens kann das ja durchaus auch mal vorkommen, ich behaupte darum elftens einfach mal, das die Frage ungenau gestellt war 😃 [/edit]



  • Dann tut es mir leid, obwohl ich schon denke, dass meine Frage eindeutig gestellt ist. Ich verstehe nicht, was pstrProxyBypass bedeutet, da ich die engl. Beschreibung nicht verstehe. Ich möchte also nur wissen, was ich für pstrProxyBypass hinschreiben muss.

    Schön wäre eine Übersetzung bzw. kurze "Zusammenfassung", aber vielleicht noch besser wäre ein Codeschnipsel, durch den deutlich wird, wie man CInternetSession mit Proxy-Nutzung einsetzt.



  • Die Beschreibung der WinInet Funktion InternetOpen ist etwas besser:

    lpszProxyBypass
    [in] Pointer to a null-terminated string that specifies an optional list of host names or IP addresses, or both, that should not be routed through the proxy when dwAccessType is set to INTERNET_OPEN_TYPE_PROXY. The list can contain wildcards. Do not use an empty string, because InternetOpen will use it as the proxy bypass list. If this parameter specifies the "<local>" macro as the only entry, the function bypasses any host name that does not contain a period. If dwAccessType is not set to INTERNET_OPEN_TYPE_PROXY, this parameter is ignored and should be NULL.



  • Heißt: alles, was als Servername bzw. -IP in pstrProxyBypass genannt wird, kann man nicht ansurfen und wird gesperrt?!


Log in to reply