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. Zitieren
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. Zitieren
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 Zitieren
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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.