Vampire Geschrieben 19. November 2006 Geschrieben 19. November 2006 Hallo, ich habe auf meiner Internetseite ein Verzeichnis mit .htaccess geschützt. Jetzt muss ich diese Seite mit einem VB-Programm laden. Benutzername und Passwort sind bekannt. Nur bieten mir weder die API InternetOpenUrl noch InternetReadFile einen Möglichkeit die Daten einzugeben. Kann mir jemand einen Tipp geben? Das ganze muss aber über API laufen. Der Anwender muss die Datei selber gar nicht sehen, ich muss die nur aufrufen und einlesen können. EDIT: VB6 SP6 ist im Einsatz.
geloescht_JesterDay Geschrieben 20. November 2006 Geschrieben 20. November 2006 Du kannst dem Server Benutzernamen und Passwort durch einen Authorization Header mitteilen. Das ist die Vorgehensweise, wie der Browser das tut (und auch die einzige Möglichkeit das zu tun). Beispiel für den Header: Authorization: BASIC SFRNTFdvcmxkOkludGVybmV0 BASIC ist die Methode, die ist eigentlich meist Basic und wird im Zweifel vom Server ja angegeben WWW-Authenticate: Basic realm="Realmname" Nach dem, BASIC folgt Benutzername:Passwort als Base64 kodierter String.
Amstelchen Geschrieben 20. November 2006 Geschrieben 20. November 2006 also AFAIR unterstützt InternetOpenUrl sehr wohl mindestens die HTTP basic auth, und zwar über den parameter lpszHeaders. wenn der status der HTTP-anfrage mit HttpQueryInfo ausgelesen wird, kann auch auf erforderliche auth überprüft werden (bedeutet: server senden HTTP 401, HTTP_STATUS_DENIED). daran anknüpfend, kann mittels InternetSetOption benutzername und passwort für die basic-authentifizierung gesetzt werden. s'Amstel
Vampire Geschrieben 20. November 2006 Autor Geschrieben 20. November 2006 Du kannst dem Server Benutzernamen und Passwort durch einen Authorization Header mitteilen. Das ist die Vorgehensweise, wie der Browser das tut (und auch die einzige Möglichkeit das zu tun). Beispiel für den Header: Authorization: BASIC SFRNTFdvcmxkOkludGVybmV0 BASIC ist die Methode, die ist eigentlich meist Basic und wird im Zweifel vom Server ja angegeben WWW-Authenticate: Basic realm="Realmname" Nach dem, BASIC folgt Benutzername:Passwort als Base64 kodierter String. Cool, das klappt. Vielen Dank! @Amstelchen: Dir auch danke, auch wenn ich den andern Code genommen habe. Da musste ich weniger umstricken.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden