Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.29;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
1-1135510556
Мастер Ломастер
2005-12-25 14:35
2006.01.29
Помогите написать функцию создания класса!


15-1136799701
Хинт
2006-01-09 12:41
2006.01.29
Помогите выбрать оформление


2-1136906678
RDS
2006-01-10 18:24
2006.01.29
сравнение массивов


1-1135656881
Alex_V
2005-12-27 07:14
2006.01.29
и все же хотелось выяснить


15-1136373097
Sergey Masloff
2006-01-04 14:11
2006.01.29
Проблемы программизма как профессии. Временные ли?