Форум: "Сети";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
ВнизWinInet http auth Найти похожие ветки
← →
Aven_ (2005-10-20 14:49) [0]как ввести пароль в стандартную форуму HTTP AUTH?
делаю так:
hConnect := InternetConnect(hInet, "127.0.0.1", INTERNET_DEFAULT_HTTPS_PORT, "имя", "пароль", INTERNET_SERVICE_HTTP, 0, 0);
но это не прокатывает. как подругому это можно реализовать?
← →
isasa © (2005-10-20 16:01) [1]А так?
var
login : string;
pass : string;
...
login :="xxxxx";
pass :="xxxxx";
...
hURL:=InternetConnect(hInet, PChar(sServ), INTERNET_DEFAULT_HTTPS_PORT,
Pchar(login), PChar(pass), INTERNET_SERVICE_HTTP, 0, 0);
...
← →
Aven_ (2005-10-20 16:41) [2]некатит, да и разницы никакой нетут :)
выдает ошибку: ERROR_INTERNET_INVALID_CA
Если зайти на сервер через TWebBrowse и залогинется в окошке что он выдаст, то через WinInet страничка нормально получается. Так вот как реализовать ввод пароля? Или автоматизировать TWebBrowser чтобы он окно не выдавал а можно было самому ввести пароль без диалога.
← →
Aven_ (2005-10-20 21:59) [3]ХЭЭЭЭЛП МИ!!!!
← →
seeker © (2005-10-21 09:28) [4]приблизительно так:
hConnect := InternetConnect(hI, aURLc2.lpSzHostName,
aURLc2.nPort, aURLc2.lpszUserName, aURLc2.lpszPassword,
INTERNET_SERVICE_HTTP, 0, 0);
...
if aURLc2.nPort = 443 then
dwflags := INTERNET_FLAG_SECURE or INTERNET_FLAG_IGNORE_CERT_CN_INVALID or INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
else
dwflags := 0;
dwFlags := dwFlags or INTERNET_FLAG_RELOAD;
...
hFile := HTTPOpenRequest(hConnect, PChar(RequestMethod),
aURLc2.lpSzUrlPath, HTTP_VERSION, nil, nil, dwflags, 0);
...
if not HTTPSendRequest(hFile, pchar(extraHeaders), length(extraHeaders), aURLc2.lpSzExtraInfo, aURLc2.dwExtraInfoLength) then begin
dwError := getlasterror;
if dwError = 12045 then begin
//try again if Certificate is invalid
InternetQueryOption (hFile, INTERNET_OPTION_SECURITY_FLAGS, @dwFlags, lpdwBufferLength);
dwFlags := dwFlags or SECURITY_FLAG_IGNORE_UNKNOWN_CA;
InternetSetOption (hFile, INTERNET_OPTION_SECURITY_FLAGS, @dwFlags, sizeof (dwFlags) );
if not HTTPSendRequest(hFile, pchar(extraHeaders), length(extraHeaders), aURLc2.lpSzExtraInfo, aURLc2.dwExtraInfoLength)
then dwError := getlasterror;
end;
end;
может где-то ошибся тк выдирал из работающего кода из блокнота(делфя щас не установленна).
← →
isasa © (2005-10-21 10:58) [5]Меня терзают сомнения. А вот это делаем?
hInet:=InternetOpen(PChar(Application.ExeName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, INTERNET_FLAG_DONT_CACHE);
← →
Aven_ (2005-10-21 16:10) [6]isasa естественно :)
seeker спасибо! Нужно было всего лишь еще раз HTTPSendRequest сделать :)
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c